tmbn Skrevet 3. mai 2005 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 ?
Wolverin Skrevet 31. mai 2005 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.
tmbn Skrevet 18. juli 2005 Forfatter 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.
zweistein Skrevet 6. august 2005 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.
tmbn Skrevet 11. august 2005 Forfatter 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.
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å