Funktionen InStr

Returnerer en Variant (langt heltal), der angiver placeringen af den første forekomst af en streng i en anden.

Se eksempler

Syntaks

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

Syntaksen for funktionen InStr har disse argumenter:

Argument

Beskrivelse

start

Numerisk udtryk, der angiver startpositionen for hver søgning. Hvis dette udelades, begynder søgningen ved det første tegn. Hvis start indeholder Null, opstår der en fejl. Argumentet start er påkrævet, hvis sammenligning er angivet.

streng1

Påkrævet. Strengudtryk, der søges i.

streng2

Obligatorisk. Strengudtryk, der søges efter.

sammenligning

Valgfrit. Angiver typen af strengsammenligninger. Hvis sammenlign er Null, opstår der en fejl. Hvis sammenlign udelades, bestemmer indstillingen OptionCompare typen af sammenligning. Angiv et gyldigt LCID (LocaleID/landestandard) for at bruge landestandard-specifikke regler i sammenligningen.

Tip: I Access 2010 indeholder Udtryksgeneratoren IntelliSense, så du kan se, hvilke argumenter dit udtryk kræver. 

Indstillinger

Indstillingerne for argumentet sammenlign er:

Konstant

Værdi

Beskrivelse

vbUseCompareOption

-1

Udfører en sammenligning ved hjælp af indstillingen for sætningen Option Compare.

vbBinaryCompare

0

Udfører en binær sammenligning.

vbTextCompare

1

Udfører en tekstsammenligning.

vbDatabaseCompare

2

Kun Microsoft Office Access 2007. Udfører en sammenligning baseret på oplysninger i din database.


Returværdier

Hvis

InStr returnerer

streng1 er tom

0

streng1 er Null

Null

streng2 er tom

start

streng2 er Null

Null

streng2 ikke bliver fundet

0

streng2 findes i streng1

Position, hvor der blev fundet match

start > streng2

0


Bemærkninger

Funktionen InStrB anvendes med bytedata, der er indeholdt i en streng. I stedet for at returnere tegnplaceringen for den første forekomst af én streng inden i en anden, returnerer InStrB bytepositionen.

Eksempler

Brug funktionen InStr i et udtryk    Du kan bruge InStr alle de samme steder, hvor du kan bruge udtryk. Hvis du f.eks. vil finde placeringen af det første punktum (.) i et felt, der indeholder IP-adresser (kaldet IPAddress), kan du bruge InStr til at finde den, således:

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

Funktionen InStr undersøger hver værdi i feltet IPAddress og returnerer placeringen af det første punktum. Det vil sige, at hvis den første del af IP-adressen er 10., returnerer funktionen værdien 3.

Derefter kan du bruge andre funktioner, der arbejder på outputtet fra funktionen InStr for at udtrække den del af IP-adressen, der står før det første punktum, således:

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

I dette eksempel returnerer InStr(1,[IPAddress],".") placeringen af det første punktum. Hvis du fratrækker 1, bestemmer det, hvor mange tegn der kommer før det første punktum, i dette tilfælde 2. Funktionen Venstre udtrækker derefter så mange tegn fra venstre del af feltet IPAddress og returnerer værdien 10.

Brug InStr i VBA-kode    

Bemærk: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

I dette eksempel bruges funktionen InStr til at returnere placeringen af den første forekomst af en streng inden i en anden.

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.
Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×