Funkcija InStr

Velja za
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vrne podatkovni tip Različica (Dolgo celo število), ki navaja mesto, kjer se en niz prvič pojavi v drugem nizu.

Nekaj primerov

Sintaksa

InStr([začetek, ] niz1, niz2 [, primerjava ] )

Sintaksa funkcije InStr ima te argumente:

Argument Opis
Začetek Izbirno. Številski izraz, ki nastavi začetno mesto za vsako iskanje. Če je argument izpuščen, se iskanje začne pri prvem znaku. Če argument začetek vsebuje vrednost Null, pride do napake. Argument začetek je potreben, če je naveden argument primerjava.
niz1 Obvezno. Izraz niza, ki ga iščete.
niz2 Obvezno. Izraz niza, ki ga iščete.
primerjava Izbirno. Določa vrsto primerjave nizov. Če ima argument primerjava vrednost Null, pride do napake. Če argument primerjava izpustite, nastavitev MožnostCompare določa vrsto primerjave. Navedite veljaven LCID (območne nastavitve) za uporabo pravil v primerjavi, značilnih za območne nastavitve.

Namig

Graditelj izrazov ima IntelliSense, tako da si lahko ogledate, katere argumente potrebujete za izraz.

Nastavitve

Nastavitve argumenta primerjava so:

Konstanta Vrednost Opis
vbUseCompareOption -1 Izvede primerjavo z uporabo nastavitve izjave možnost primerjava.
vbBinaryCompare 0 Izvede dvojiško primerjavo.
vbTextCompare 1 Izvede besedilno primerjavo.

Vrednosti vrnitve

Če InStr vrne
niz1 je ničelne dolžine 0
niz1 je Null Null
niz2 je ničelne dolžine začetek
niz2 je Null Null
niza2 ni bilo mogoče najti 0
niz2 je najden v nizu1 Mesto, kjer je najdeno ujemanje
začetni > niz2 0

Opombe

Funkcija InStrB se uporablja s podatki v bajtih, ki jih vsebuje niz. Namesto da vrne položaj znaka prve pojavitve enega niza v drugem, InStrB vrne položaj bajta.

Primeri

Uporaba funkcije InStr v izrazu InStr lahko uporabite povsod , kjer lahko uporabite izraze. Če želite na primer poiskati položaj prvega obdobja (.) v polju, ki vsebuje naslove IP (imenovan IPAddress), ga lahko poiščete s funkcijo InStr :

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

Funkcija InStr pregleda posamične vrednosti v polju IPAddress in vrne položaj prvega obdobja. Torej, če je prvi del naslova IP 10., funkcija vrne vrednost 3.

Nato lahko uporabite druge funkcije, ki delujejo na rezultat funkcije InStr za izvlečenje dela naslova IP, ki je pred prvim obdobjem, in sicer tako:

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

V tem primeru InStr(1,[IPAddress],".") vrne položaj prvega obdobja. Ko odštejete 1, ugotovite, koliko znakov je pred prvim obdobjem, v tem primeru 2. Funkcija Left nato izvleče toliko znakov iz levega dela polja IPAddress polja, in vrne vrednost 10.

Uporaba funkcije InStr v kodi VBA 

Opomba

V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA).

V tem primeru je uporabljena funkcija InStr za vrnitev položaja prve pojavitve enega niza v drugem.


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.

Glejte tudi

Funkcije niza in njihova uporaba