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, ] string1, string2 [, compare ] )

Syntaksen for funksjonen InStr har følgende argumenter:

Argument Beskrivelse
start Valgfritt. Numerisk uttrykk som angir startposisjonen 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. Strenguttrykk som søkes i.
streng2 Obligatorisk. Strenguttrykk søkt.
sammenlign Valgfritt. Angir typen strengsammenligning. Hvis sammenlign er Null, oppstår det en feil. Hvis sammenligning utelates, bestemmer OptionCompare-innstillingen sammenligningstypen. Angi en gyldig LCID (LocaleID) for å bruke regler for nasjonal innstilling i sammenligningen.

Tips

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

Innstillinger

Innstillingene for sammenligningsargumentet er:

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

Returner verdier

If InStr returnerer
streng1 er tom 0
streng1 er null Null
streng2 er tom Starte
streng2 er null Null
finner ikke streng2 0
streng2 finnes i streng1 Plasseringen der treff blir funnet
startstreng > 2 0

Merknader

InStrB-funksjonen brukes med bytedata i en streng. I stedet for å returnere tegnplasseringen for den første forekomsten av én streng i en annen, returnerer InStrB byteposisjonen.

Eksempler

Bruke InStr-funksjonen i et uttrykk Du kan bruke InStr der du kan bruke uttrykk. Hvis du for eksempel vil finne posisjonen til den første perioden (.) 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 funksjonen derfor verdien 3.

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

Left([IPAddress],(InStr(1,[IPAddress],".")-1))

I dette eksemplet, InStr(1,[IPAddress],".") returnerer posisjonen til den første perioden. Subtrahing 1 determines how many characters precede the first period, in this case, 2. Venstre-funksjonen trekker deretter ut så mange 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 én streng i 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