24. september 2006 - 10:57Der er
3 kommentarer og 1 løsning
Dele Fornavn/Efternavn i 2 seperate felter query (står i et nu)
Hejsa Jeg har en tabel hvor fornavn og efternavn er indtastet i samme felt [Navn] Kan man i en query (forespørgsel) dele dette således at Fornavn bliver indtil første mellemrum og Efternavn bliver resten
Jeg ved ikke om du kan i en query, men i VBA kan det se således ud, prøv evt at lede efter en funktion der hedder Split::
Dim MaxUd, FMax, K, i, intspace As Integer Dim strnavn As String DoCmd.OpenForm "form1" Me.Requery MaxUd = DMax("[Tæller]", "Tabel1") For K = 1 To MaxUd strnavn = LTrim$(Me.[Navn]) FMax = Len(strnavn) For i = 1 To FMax + 1 If Mid$(strnavn, i, 1) = " " Then Exit For intspace = i Next i Me.[Fornavn] = LTrim$(Mid$(strnavn, 1, intspace)) Me.[Efternavn] = LTrim$(Mid$(strnavn, intspace + 2, FMax)) DoCmd.GoToRecord acForm, "form1", acNext, 1 Next K DoCmd.GoToRecord acForm, "form1", acPrevious, 1
Hvis du ønsker at gøre det i en forespørgsel, så kan det gøres sådan her:
SELECT IIf(Instr(Navn,' ')=0,Null,Left([navn],InStr([Navn],' ')-1)) AS Fornavn, Right([Navn],Len(Navn)-InStr([Navn],' ')) AS Efternavn FROM Tabel1;
Det vil naturligvis ikke altid give det rigtige resultat, hvis f.eks. der er indtastet mellemnavne (disse vil blive opfattet som hørende til efternavnet), eller hvis der f.eks. kun er indtastet et fornavn (hvis der kun er indtastet ét navn, vil det blive opfattet som et efternavn). Men med disse forbehold, så skulle det virke i henhold til dine specifikationer.
Forøvrigt, hvis du skulle ønske at udvide det til også at have et felt til mellemnavne, kan det gøres sådan her:
SELECT IIf(Instr(Navn,' ')=0,Null,Left([navn],InStr([Navn],' ')-1)) AS Fornavn, IIf(instr(Navn,' ')=instrrev(Navn,' '),Null,Mid(Navn,Instr(Navn,' ')+1,Len(Navn)-Instr(Navn,' ')-(Len(Navn)-InStrRev(Navn,' ')))) AS Mellemnavn, Right([Navn],Len(Navn)-InStrRev([Navn],' ')) AS Efternavn FROM Tabel1;
kjulius virker perfekt og er i en query som det skulle være - derfor point takker og lukker
Synes godt om
Ny brugerNybegynder
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.