Applies ToAccess 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ökIStr ([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 OptionCompare-inställningen 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

start > 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ökIStr i ett uttryck    Du kan använda SökIStr var som helst där du kan använda uttryck. Om du till exempel vill söka efter positionen för den första punkten (.) i ett fält som innehåller IP-adresser (som heter IPAdress), kan du använda SökIStr för att hitta det på följande sätt:

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 är 10.returnerar funktionen därför 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änd SökIStr 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

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.