InStr, funksjon

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

Returnerer en variant (langt) som angir plasseringen av den første forekomsten av en streng sammen med en annen.

Se noen eksempler

Syntaks

InStr([start, ] streng1, streng2 [, sammenlign ] )

Syntaksen for funksjonen InStr har disse argumentene:

Argument Beskrivelse
start Valgfritt. Numerisk uttrykk som angir startpunktet for hvert søk. Hvis det utelates, begynner søket ved første tegnplassering. Hvis start inneholder Null, oppstår det en feil. Argumentet start kreves hvis compare er angitt.
streng1 Obligatorisk. Strenguttrykket det søkes i.
streng2 Obligatorisk. Strenguttrykket det ble søkt i.
sammenlign Valgfritt. Angir strengsammenligningstypen. Hvis sammenlign er Null, oppstår det en feil. Hvis sammenlign utelates, avgjør innstillingen Tilsnittssammenligning sammenligningstypen. Angi en gyldig LCID (LocaleID) for å bruke nasjonale spesifikke regler i sammenligningen.

Tips

Uttrykksverktøyet inneholder IntelliSense, slik at du kan se hvilke argumenter uttrykket krever.

Innstillinger

Innstillingene for sammenligningsargumentene er:

Konstant Verdi Beskrivelse
vbUseCompareOption -1 Utfører en sammenligning ved hjelp av innstillingen for uttrykket Sammenlign alternativ .
vbBinaryCompare 0 Utfører en binær sammenligning.
vbTextCompare 1 Utfører en tekstsammenligning.

Returverdier

If Returnerer InStr
streng1 er tom 0
streng1 er null Null
streng2 er tom lengde Start
streng2 er null Null
finner ikke streng2 0
streng2 finnes i streng1 Plassering der treff blir funnet
startstreng2 > 0

Merknader

InStrB-funksjonen brukes med byte-data som finnes i en streng. I stedet for å returnere tegnplasseringen til den første forekomsten av en streng inne i en annen, returnerer InStrB byteposisjonen.

Eksempler

Bruke InStr-funksjonen i et uttrykk Du kan bruke InStr overalt hvor du kan bruke uttrykk. Hvis du for eksempel vil finne posisjonen til den første punktum (.) i et felt som inneholder IP-adresser (kalt IPAddress), kan du bruke InStr til å finne den, slik som dette:

InStr(1,[IPAddress],«.»)

InStr-funksjonen undersøker hver verdi i IPAddress-feltet og returnerer posisjonen til den første perioden. Hvis den første delen av IP-adressen er 10., returnerer dermed funksjonen verdien 3.

Du kan deretter bruke andre funksjoner, som opererer på utdataene fra InStr-funksjonen , til å trekke ut den delen av IP-adressen som kommer før den første perioden, slik som dette:

Left([IPAddress],(InStr(1,[IPAddress],«.»)-1))

I dette eksemplet er InStr(1,[IPAddress],«.») Returnerer posisjonen til den første perioden. Trekk fra 1 bestemmer hvor mange tegn som går foran første punktum, i dette tilfellet 2. Left-funksjonen trekker deretter ut det antallet tegn fra den venstre delen av IPAddress-feltet og returnerer verdien 10.

Bruk InStr i VBA-kode 

Obs!

I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications).

Dette eksemplet bruker InStr-funksjonen til å returnere posisjonen til den første forekomsten av en streng sammen med en annen.


Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

Se også

Strengfunksjoner og hvordan du bruker dem