Strengfunktioner, og hvordan de skal bruges

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Med strengfunktioner kan du oprette udtryk i Access, som redigerer tekst på forskellige måder. Det kan f.eks. være, at du kun vil have vist en del af et serienummer på en formular. Eller du kan få brug for at sammenkæde (sammenkæde) flere strenge, f.eks. et efternavn og et fornavn. Hvis du ikke har kendskab til udtryk endnu, kan du se Generér et udtryk.

Her er en liste over nogle af de mest almindelige strenghandlinger i Access, og de funktioner, du vil bruge til at udføre dem:

Hvis du vil … Brug... For eksempel... Resultater
Returnere tegn fra begyndelsen af en streng Funktionen Left =Left([Serienr],2) Hvis [SerialNumber] er "CD234", er resultatet "CD".
Returnere tegn fra slutningen af en streng Funktionen Right =Højre([Serienummer],3) Hvis [SerialNumber] er "CD234", er resultatet "234".
Finde positionen af et tegn i en streng Funktionen InStr =InStr(1,[Fornavn],"i") Hvis [Fornavn] er "Colin", er resultatet 4.
Returnere tegn fra midten af en streng Funktionen Mid =Mid([Serienr],2,2) Hvis [SerialNumber] er "CD234", er resultatet "D2".
Trim foranstillede eller efterstillede mellemrum fra en streng Funktionerne LTrim, RTrim og Trim =Trim([Fornavn]) Hvis [Fornavn] er " Colin ", er resultatet "Colin".
Forbind to strenge med hinanden Plustegnsoperator (+)* =[Fornavn] + [Efternavn] Hvis [Fornavn] er "Colin", og [Efternavn] er Wilcox, er resultatet "ColinWilcox"
Forbind to strenge med et mellemrum mellem dem Plustegnsoperator (+)* =[Fornavn] + " " + [Efternavn] Hvis [Fornavn] er "Colin", og [Efternavn] er Wilcox, er resultatet "Colin Wilcox"
Ændre en streng til store eller små bogstaver Funktionen UCase eller LCase =UCase([Fornavn]) Hvis [Fornavn] er "Colin", er resultatet "COLIN".
Bestemme længden af en streng Funktionen Længde =Længde([Fornavn]) Hvis [Fornavn] er "Colin", er resultatet 5.

* OK, så det er ikke en funktion, det er en operator. Det er dog den hurtigste måde at flette strenge på. I en skrivebordsdatabase kan du også bruge og-tegn-operatoren (&) til sammenkædning.

Der er mange flere tekstrelaterede funktioner i Access. En god måde at få mere at vide om dem på er at åbne Udtryksgenerator og gennemse funktionslisterne. Udtryksgenerator er tilgængelig næsten overalt, hvor du vil bygge et udtryk – der er normalt en lille Byg-knap , der ser sådan ud: Knapflade

For at demonstrere Udtryksgenerator åbner vi den fra egenskaben Kontrolelementkilde i en formular eller visning. Brug en af fremgangsmåderne nedenfor, afhængigt af om du bruger en skrivebordsdatabase eller en Access-webapp.

Få vist Udtryksgenerator i en skrivebordsdatabase

  1. Åbn en skrivebordsdatabase (.accdb).

  2. Tryk på F11 for at åbne navigationsruden, hvis den ikke allerede er åben.

  3. Hvis du allerede har en formular tilgængelig, skal du højreklikke på den i navigationsruden og klikke på Layoutvisning. Hvis du ikke har en formular at arbejde med, skal du klikke på Opret>formular.

  4. Højreklik på et tekstfelt i formularen, og klik på Egenskaber.

  5. Klik på Alle>kontrolelementkilder i egenskabsarket, og klik på knappen BygKnapflade i højre side af egenskabsfeltet for kontrolelementkilde .

    Knappen Generer i egenskabsfeltet.

  6. Udvid noden Funktioner under Udtrykselementer, og klik på Indbyggede funktioner.

  7. Klik på Tekst under Udtrykskategorier.

  8. Under Udtryksværdier skal du klikke på de forskellige funktioner og læse de korte beskrivelser nederst i udtryksgeneratoren.

    Bemærk

    Ikke alle disse funktioner er tilgængelige i alle sammenhænge. Access filtrerer listen automatisk afhængigt af, hvilke der fungerer i hver kontekst.

Kombiner tekstfunktioner for større fleksibilitet

Nogle strengfunktioner har numeriske argumenter, som du i nogle tilfælde skal beregne, hver gang du kalder funktionen. Funktionen Left tager f.eks. en streng og et tal, som i =Left(SerialNumber, 2). Dette er praktisk, hvis du ved, at du altid skal bruge de to venstre tegn, men hvad nu hvis antallet af tegn, du skal bruge, varierer fra element til element? I stedet for blot at lave en "fast kodning" af antallet af tegn kan du angive en anden funktion, der beregner antallet af tegn.

Her er et eksempel på serienumre, der hver har en bindestreg et sted i strengen. Placeringen af bindestregen varierer dog:

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

Hvis du kun vil have vist tallene til venstre for bindestreg, skal du foretage en beregning hver gang for at finde ud af, hvor bindestregen er. Én mulighed er at gøre noget i stil med dette:

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

I stedet for at angive et tal som det andet argument for funktionen Venstre har vi tilsluttet funktionen InStr, som returnerer placeringen af bindestregen i serienummeret. Trækker du 1 fra den pågældende værdi, får du det korrekte antal tegn, som funktionen Venstre skal returnere. Virker umiddelbart lidt kompliceret, men med lidt eksperimenteren kan du kombinere to eller flere udtryk for at få de ønskede resultater.