Avatar billede mandersen Nybegynder
29. oktober 2003 - 15:41 Der er 11 kommentarer og
1 løsning

formatere data i felt

Hej
Er der nogen der kan hjælpe mig, jeg har et problem med formatering i felterne i en tabel.
Alle dataene i felterne er er udstyret med fire bindestreger (98-98-98-98) som jeg vil have fjernet så de bliver sådan her (98989898)jeg har prøvet at løse problemet igennem en forespørgsel, men det ville ikke rigtigt.
håber det kan løses + der er gode point at hente.
Hilsen Mandersen
Avatar billede -l_jogge_l- Nybegynder
29. oktober 2003 - 15:42 #1
Er det bare en engangs fornøjelse????
Avatar billede mugs Novice
29. oktober 2003 - 16:50 #2
Brug funktionen Mid. I eksemplet indeholder felt1: 98-98-98-98:

Dim a As String, b, c, d
a = Left(felt1, 2)
b = Mid(felt1, 4, 2)
c = Mid(felt1, 7, 2)
d = Mid(felt1, 10, 2)
Me.felt1 = a & b & c & d

Først tildeles variablen a de 2 første tegn i felt1. Variablen b tildeles fra det 4. tegn og 2 tregn frem, og så fremdeles. Tilsidst tildeles felt1 vørdien af de 4 variabler.
Kan sende min testdb, blot læg din e-mail
Avatar billede larsjordan Nybegynder
29. oktober 2003 - 17:39 #3
Jeg antager at det er "98-98-98-98" der er gemt i tabellen i eksempelvis felt1.

I så fald kunne du lave en forespørgsel med et felt defineret således

Felt1Formateret: ReplaceInString("felt1";"-";"")

Sørg så for at der i databasen er et modul med koden

Public Function ReplaceInString(strString As String, strReplaceWhat As String, strReplaceWith As String) As String
Dim intCharPos As Integer
Dim strReturn As String
   
    strReturn = strString
    intCharPos = InStr(1, strReturn, strReplaceWhat, vbTextCompare)
    Do While intCharPos > 0
        strReturn = Left(strReturn, intCharPos - 1) & strReplaceWith & Mid(strReturn, intCharPos + Len(strReplaceWhat))
        intCharPos = InStr(1, strReturn, strReplaceWhat)
    Loop
    ReplaceInString = strReturn
End Function

Hvis det er 98989898 der er gemt i tabellen med vist forkert, skal du fjerne det der angivet undet Format på feltet. Dette gøres i designvisning på tabellen
Avatar billede kabbak Professor
29. oktober 2003 - 17:59 #4
Hvis de er tastetet ind med bindestreg, kan du bruge søg og erstat.

elles er det formatet på feltet i tabellen der er lavet sådan.
Avatar billede mugs Novice
29. oktober 2003 - 18:02 #5
kabbak -> Enig, men hvis der nu er 1000 poster bliver det jo lidt bøvlet :o)
Avatar billede kabbak Professor
29. oktober 2003 - 18:32 #6
du kan jo bare maker kolonnen til søg og erstet, så tager den alle i kolonnen.
Avatar billede terry Ekspert
29. oktober 2003 - 18:32 #7
MyString =  ToStr(""98-98-98-98")



Public Function ToStr(sIn As String) As String
Dim var As Variant
Dim i As Integer

    var = Split(sIn, "-")
    For i = 0 To UBound(var)
        ToStr = ToStr & var(i)
   
    Next i
   
End Function
Avatar billede terry Ekspert
29. oktober 2003 - 18:52 #8
Your Obviously going to need an update query

UPDATE YourTable SET YourField = ToStr(YourField);
Avatar billede mandersen Nybegynder
30. oktober 2003 - 15:51 #9
Hello Folks:
Mugs du må gerne sende din test dbase
Hilsen
Mandersen
Avatar billede mandersen Nybegynder
30. oktober 2003 - 15:52 #10
Ups glemte mailadr.
ma@ugenstilbud.dk
Avatar billede mandersen Nybegynder
30. oktober 2003 - 15:53 #11
Mugs du var først, så du får point
Avatar billede mugs Novice
30. oktober 2003 - 15:56 #12
Tak for point. Testdb er sendt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester