Strengfunksjoner og hvordan du bruker dem

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Med strengfunksjoner kan du opprette uttrykk i Access som manipulerer tekst på en rekke måter. Det kan for eksempel hende at du bare vil vise en del av et serienummer i et skjema. Eller du må kanskje slå sammen (kjede sammen) flere strenger, for eksempel et etternavn og et fornavn. Hvis du ikke er fornøyd med uttrykk ennå, kan du se Bygge et uttrykk.

Her er en liste over noen av de vanligste strengoperasjonene i Access, og funksjonene du ville brukt til å utføre dem:

Hvis du vil … Bruk ... For eksempel... Resultater
Returnere tegn fra begynnelsen av en streng Venstre funksjon =Venstre([SerialNumber],2) Hvis [SerialNumber] er "CD234", blir resultatet CD.
Returnere tegn fra slutten av en streng Høyre funksjon =Høyre([SerialNumber],3) Hvis [SerialNumber] er "CD234", blir resultatet "234".
Finne plasseringen til et tegn i en streng InStr (funksjon) =InStr(1,[FirstName],"i") Hvis [FirstName] er "Colin", er resultatet 4.
Returnere tegn fra midten av en streng Mid-funksjonen =Mid([SerialNumber],2,2) Hvis [SerialNumber] er "CD234", blir resultatet "D2".
Trimme innledende eller etterfølgende mellomrom fra en streng Funksjonene LTrim, RTrim og Trim =Trim([FirstName]) Hvis [FirstName] er " Colin ", blir resultatet "Colin".
Slå sammen to strenger Plusstegn (+)-operator* =[FirstName] + [LastName] Hvis [FirstName] er "Colin" og [LastName] er Wilcox, blir resultatet "ColinWilcox"
Slå sammen to strenger med et mellomrom mellom dem Plusstegn (+)-operator* =[FirstName] + " " + [LastName] Hvis [FirstName] er "Colin" og [LastName] er Wilcox, blir resultatet "Colin Wilcox"
Endre bokstavtype for en streng til store eller små bokstaver UCase-funksjonen eller LCase-funksjonen =UCase([FirstName]) Hvis [FirstName] er «Colin», blir resultatet «COLIN».
Bestemme lengden på en streng Lengde (funksjon) =Lengde([Fornavn]) Hvis [FirstName] er "Colin", er resultatet 5.

* Ok, så det er ikke en funksjon, det er en operator. Det er imidlertid den raskeste måten å slå sammen strenger på. I en skrivebordsdatabase kan du også bruke ampersand-operatoren (&) til sammenkobling.

Det finnes mange flere tekstrelaterte funksjoner i Access. En god måte å lære mer om dem på, er å åpne uttrykksverktøyet og bla gjennom funksjonslistene. Uttrykksverktøyet er tilgjengelig nesten hvor som helst du vil bygge et uttrykk – vanligvis er det en liten bygg-knapp som ser slik ut: Knappebilde

Hvis du vil demonstrere uttrykksverktøyet, åpner vi det fra kontrollkildeegenskapen i et skjema eller en visning. Bruk en av fremgangsmåtene nedenfor, avhengig av om du bruker en skrivebordsdatabase eller en Access-nettapp.

Vise uttrykksverktøyet i en skrivebordsdatabase

  1. Åpne en skrivebordsdatabase (ACCDB).

  2. Trykk F11 for å åpne navigasjonsruten hvis den ikke allerede er åpen.

  3. Hvis du allerede har et skjema tilgjengelig, høyreklikker du det i navigasjonsruten og klikker Oppsettvisning. Hvis du ikke har et skjema å arbeide med, klikker du Opprett>skjema.

  4. Høyreklikk en tekstboks i skjemaet, og klikk Egenskaper.

  5. Klikk All>kontrollkilde på egenskapssiden, og klikk Bygg-knappen på høyre side av egenskapsboksen Kontrollkilde.

    Bygg-knappen på egenskapsarket.

  6. Utvid Funksjon-noden under Uttrykkselementer, og klikk Innebygde funksjoner.

  7. Klikk Tekst under Uttrykkskategorier.

  8. Klikk de ulike funksjonene under Uttrykksverdier, og les de korte beskrivelsene nederst i uttrykksverktøyet.

    Obs!

    Ikke alle disse funksjonene er tilgjengelige i alle kontekster. Access filtrerer listen automatisk avhengig av hvilke som fungerer i hver kontekst.

Kombinere tekstfunksjoner for mer fleksibilitet

Noen strengfunksjoner har numeriske argumenter som i noen tilfeller må beregnes hver gang du kaller funksjonen. Venstre-funksjonen tar for eksempel en streng og et tall, som i =Venstre(SerialNumber, 2). Dette er flott hvis du vet at du alltid trenger de to venstre tegnene, men hva om antall tegn du trenger, varierer fra element til element? I stedet for bare "hard koding" antall tegn, kan du skrive inn en annen funksjon som beregner den.

Her er et eksempel på serienumre som hver har en bindestrek et sted i strengen. Plasseringen av bindestreken varierer imidlertid:

SerialNumber
3928-29993
23-9923
333-53234
3399940-444

Hvis du bare vil vise tallene til venstre for bindestreken, må du utføre en beregning hver gang for å finne ut hvor bindestreken er. Ett alternativ er å gjøre noe sånt som dette:

=Venstre([SerialNumber],InStr(1,[SerialNumber],"-")-1)

I stedet for å skrive inn et tall som det andre argumentet i Venstre-funksjonen, har vi koblet til InStr-funksjonen, som returnerer plasseringen av bindestreken i serienummeret. Trekk fra 1 fra denne verdien, og du får riktig antall tegn for venstre-funksjonen som skal returneres. Virker litt komplisert i begynnelsen, men med litt eksperimentering kan du kombinere to eller flere uttrykk for å få resultatene du ønsker.