Funkcija InStr

Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Daje tip podataka Varijanta (Dugački) koji navodi položaj prvog pojavljivanja jedne niske unutar druge.

Pogledajte neke primere

Sintaksa

InStr([početak, ] niska1, niska2 [, poređenje ] )

Sintaksa funkcije InStr ima sledeće argumente:

Argument Opis
početak Opcionalno. Numerički izraz koji postavlja početnu poziciju za svaku pretragu. Ako se izostavi, pretraga počinje od prvog mesta znaka. Ako start sadrži vrednost "Null", dobija se greška. Argument start je potreban ako je navedeno poređenje .
niska1 Obavezno. Izraz niske koji se pretražuje.
niska2 Obavezno. Izraz niske koji se traži.
uporedi Opcionalno. Navodi tip poređenja niske. Ako je poređenje bez vrednosti, dobija se greška. Ako se poređenje izostavi, postavka OptionCompare određuje tip poređenja. Navedite važeći LCID (LocaleID) da biste koristili pravila specifična za lokalni standard u poređenju.

Savet

"Izrada izraza" ima IntelliSense, pa možete da vidite kakvi su argumenti neophodni za vaš izraz.

Postavke

Postavke argumenta za poređenje su:

konstanta Vrednost Pretraga
vbUseCompareOption -1 Izvršava poređenje pomoću postavke izjave Option Compare .
vbBinaryCompare 0 Izvršava binarno poređenje.
vbTextCompare 1 Izvršava poređenje teksta.

Povratne vrednosti

If InStr daje
niska1 je nulte dužine 0
niska1 je Null Null
niska2 je nulte dužine Meni "Start"
niska2 je Null Null
niska2 nije pronađena 0
niska2 se nalazi unutar niske1 Pozicija na kojoj se pronalazi podudaranje
početna > niska2 0

Primedbe

Funkcija InStrB se koristi sa podacima u bajtovima sadržanim u nisci. Umesto da vrati poziciju znaka prvog pojavljivanja jedne niske unutar druge, InStrB daje poziciju bajta.

Primeri

Korišćenje funkcije InStr u izrazuFunkciju InStr možete da koristite svuda gde možete da koristite izraze. Na primer, ako želite da pronađete poziciju prve tačke (.) u polju koje sadrži IP adrese (pod imenom IPAddress), možete da koristite InStr da biste je pronašli na sledeći način:

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

Funkcija InStr ispituje svaku vrednost u polju IPAddress i vraća poziciju prvog perioda. Stoga, ako je prvi deo IP adrese 10., funkcija daje vrednost 3.

Zatim možete da koristite druge funkcije koje rade na izlazu funkcije InStr da biste izdvojili deo IP adrese koji prethodi prvom periodu, ovako:

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

U ovom primeru, InStr(1,[IPAddress],".") Daje poziciju prvog perioda. Oduzimanje broja 1 određuje koliko znakova prethodi prvoj tački, u ovom slučaju, 2. Funkcija Left zatim izdvaja toliko znakova iz levog dela polja IPAddress i daje vrednost 10.

Korišćenje protokola InStr u VBA kodu 

Napomena

Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu.

Ovaj primer koristi funkciju InStr kako bi vratio položaj prvog pojavljivanja jedne niske unutar druge.


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.

Takođe pogledajte

Funkcije za rad sa niskama i kako ih koristiti