Funktionen InStr

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerar ett värde av datatypen Variant (Long) som anger positionen för den första förekomsten av en sträng i en annan sträng.

Visa några exempel

Syntax

SökStr([start; ] sträng1, sträng2 [, jämför ] )

Syntaxen för funktionen SökIStr har följande argument:

Argument Beskrivning
start Valfritt. Numeriskt uttryck som anger var sökningen ska starta. Om argumentet utelämnas börjar sökningen vid det första tecknet. Om start innehåller Null, uppstår ett fel. Argumentet start är obligatoriskt om jämför används.
sträng1 Obligatoriskt. Det stränguttryck som genomsöks.
sträng2 Obligatoriskt. Stränguttryck som eftersöks.
jämför Valfritt. Anger typen av strängjämförelse. Om jämför är Null uppstår ett fel. Om jämför utelämnas bestämmer Inställningen OptionCompare typen av jämförelse. Ange en giltig LCID (LocaleID) för att använda språkspecifika regler i jämförelsen.

Tips

Uttrycksverktyget har IntelliSense, så att du kan se vilka argument som krävs för uttrycket.

Inställningar

Inställningarna för argumentet jämför är:

Konstant Värde Beskrivning
vbUseCompareOption -1 Jämförelsen använder inställningen för Option Compare-uttrycket.
vbBinaryCompare 0 Utför en binär jämförelse.
vbTextCompare 1 Utför en textjämförelse.

Returvärden

Om SökIStr returnerar
sträng1 är en tom sträng 0
sträng1 är Null Null
sträng2 är en tom sträng start
sträng2 är Null Null
sträng2 hittas inte 0
sträng2 finns i sträng1 Position där matchning hittas
starta > sträng2 0

Kommentarer

Funktionen SökIStrB används med bytedata som finns i en sträng. I stället för att returnera teckenpositionen för den första förekomsten av en sträng i en annan returnerar SökIStrB bytepositionen.

Exempel

Använda funktionen SökSträng i ett uttryck Du kan använda SökSträng där du kan använda uttryck. Om du till exempel vill hitta positionen för den första punkten (.) i ett fält som innehåller IP-adresser (med namnet IPAdress) kan du använda SökSträng för att hitta den, så här:

SökIStr(1,[IPAdress],".")

Funktionen SökIStr undersöker varje värde i fältet IPAdress och returnerar positionen för den första punkten. Om den första delen av IP-adressen därför är 10 returnerar funktionen värdet 3.

Sedan kan du på följande sätt använda andra funktioner på resultatet för funktionen SökIStr för att extrahera den del av IP-adressen som föregår den första punkten:

Vänster([IPAdress],(SökIStr(1,[IPAdress],".")-1))

I det här exemplet returnerar SökIStr(1,[IPAdress],"." positionen för den första punkten. Sedan subtraheras 1 för att avgöra hur många tecken som föregår den första punkten (i det här fallet 2). Funktionen Vänster hämtar sedan så många tecken från den vänstra delen av fältet IPAdress och returnerar i det här fallet värdet 10.

Använda SökSträng i VBA-kod 

Obs

I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA).

I det här exemplet används funktionen SökIStr för att returnera positionen för den första förekomsten av en sträng i en annan.


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 även

Strängfunktioner och hur de används