tmbn Skrevet 3. mai 2005 Del Skrevet 3. mai 2005 Vet at ikke access støtter SUBSTRING funksjonen så jeg må bruke en annen funksjon. Skal ha ut de 3 første ordene i et datafelt. Med substring funker det slik: SELECT SUBSTRING_INDEX(Fornavn,' ',3) as Fnavn FROM brukerdata Vet at man kan bruke MID i access, men finner ikke noe syntaxer på det på nett. Noen som vet hvordan man gjør det og om man kan bruke INDEX i MID ? Lenke til kommentar
Wolverin Skrevet 31. mai 2005 Del Skrevet 31. mai 2005 Vet at ikke access støtter SUBSTRING funksjonen så jeg må bruke en annen funksjon. Skal ha ut de 3 første ordene i et datafelt. Med substring funker det slik: SELECT SUBSTRING_INDEX(Fornavn,' ',3) as Fnavn FROM brukerdata Vet at man kan bruke MID i access, men finner ikke noe syntaxer på det på nett. Noen som vet hvordan man gjør det og om man kan bruke INDEX i MID ? Du kan bruke en mid funksjon, eller en left funksjon til dette formålet. Siden du skal ha de 3 første tegnene så blir det også riktig om du sier at du starter til venstre på ordet, altså først, og teller deg 3 tegn ut. Syntax for å søke slik er som følger: SELECT Left([FORNAVN],3) AS Fnavn FROM brukerdata; SELECT Mid([FORNAVN],1,3) AS Fnavn FROM brukerdata; Vet ikke om noen måte å kjøre index på, for Access indexerer automatisk. Lenke til kommentar
tmbn Skrevet 18. juli 2005 Forfatter Del Skrevet 18. juli 2005 Jeg skal ikke ha de 3 første tegnene, men de 3 første ordene. Det blir straks litt vanskeligere da man aldri vet hvor langt det er i tegn. De 3 ordene forandrer seg fra post til post. Lenke til kommentar
tmbn Skrevet 2. august 2005 Forfatter Del Skrevet 2. august 2005 Noen som vet hvordan man gjør dette ? Lenke til kommentar
zweistein Skrevet 6. august 2005 Del Skrevet 6. august 2005 Dersom du bruker Access som front-end (og ikke er koblet mot Accessdatabasen fra et annet program) kan du blande VBA funksjoner inn i SQL syntaxen. I ditt tilfelle: Opprett et Visual Basic modul i Accessdatabasen din (hvis du ikke har et allerede). Legg inn denne funksjonen som bruker VB sin "Split": Public Function MySubstring(str As String, dlt As String, index As Integer) As String Dim retArray() As String retArray = Split(str, dlt) MySubstring = retArray(index) End Function Du kan selvsagt lage denne funksjonen så lang og vond du vil for å fikse på teksten din. Funksjonen kan så kjøres i en SQL query: SELECT MySubstring([Fornavn]," ",0) AS Navn1, MySubstring([Fornavn]," ",1) AS Navn2, MySubstring([Fornavn]," ",2) AS Navn3 FROM Brukerdata; Her legges de tre første ordene i hver sin kolonne i det returnerte datasettet. Lenke til kommentar
tmbn Skrevet 11. august 2005 Forfatter Del Skrevet 11. august 2005 Så det er ikke noe måte å behandle dette dirkte mot access. Høres ut som microsoft har gjort en svak jobb. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå