Funkcija InStr

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

Vraća vrijednost Variant (Long) koja označava položaj prvog pojavljivanja jednog niza unutar drugog.

Pogledajte nekoliko primjera

Sintaksa

InStr([start, ] niz1, niz2 [, usporedi ] )

Sintaksa funkcije InStr sadrži ove argumente:

Argument Opis
pocetak Neobavezno. Brojčani izraz koji određuje početni položaj svakog pretraživanja. Ako izostavite taj argument, pretraživanje će započeti od položaja prvog znaka. Ako početak sadrži vrijednost Null, doći će do pogreške. Ako je određen argument usporedba, potreban je i argument pocetak.
niz1 Obavezno. Nizovni izraz unutar kojeg se provodi pretraživanje.
niz2 Obavezno. Traženi nizovni izraz.
usporedba Neobavezno. Određuje vrstu usporedbe nizova. Ako usporedba ima vrijednost Null, doći će do pogreške. Ako izostavite usporedbu , postavka OptionCompare određuje vrstu usporedbe. Navedite valjani LCID (LocaleID) da biste u usporedbi koristili pravila specifična za regionalne sheme.

Savjet

Sastavljač izraza ima IntelliSense koji vam omogućuje prikaz argumenata koje izraz zahtijeva.

Postavke

Postavke argumenta usporedbe :

Konstanta Vrijednost Opis
vbUseCompareOption -1 Izvodi usporedbu pomoću postavke naredbe Usporedba mogućnosti .
vbBinaryCompare 0 Izvodi binarnu usporedbu.
vbTextCompare 1 Izvodi tekstualnu usporedbu.

Vraćene vrijednosti

Ako InStr vraća
niz1 ima nultu duljinu 0
niz1 je Null Null
niz2 ima nultu duljinu Početak
string2 is Null Null
niz2 is not found 0
niz2 se nalazi unutar niza1 Položaj na kojem se traži podudaranje
start > niz2 0

Napomene

Funkcija InStrB koristi se s bajtovnim podacima u nizu. Umjesto vraćanja položaja znaka prvog pojavljivanja jednog niza unutar drugog, InStrB vraća položaj bajta.

Primjeri

Korištenje funkcije InStr u izrazuInStr možete koristiti svugdje gdje možete koristiti izraze. Ako, primjerice, želite pronaći položaj prve točke (.) u polju koje sadrži IP adrese (nazvane IPAddress), možete ga pronaći pomoću oznake InStr , i to ovako:

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

Funkcija InStr pregledava svaku vrijednost u polju IPAddress i vraća položaj prvog razdoblja. Dakle, ako je prvi dio IP adrese 10., funkcija vraća vrijednost 3.

Potom možete koristiti druge funkcije koje rade na izlazu funkcije InStr da biste izdvojili dio IP adrese koji prethodi prvom točki, i to ovako:

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

U ovom primjeru, InStr(1,[IPAddress],".") Vraća položaj prvog razdoblja. Oduzimanjem 1 određuje se broj znakova koji prethodi prvoj točki, a u ovom slučaju 2. Funkcija Left zatim izdvaja taj broj znakova iz lijevog dijela polja IPAddress te vraća vrijednost 10.

Koristi InStr u VBA kodu 

Napomena

Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA).

U ovom primjeru funkcija InStr vraća položaj prvog pojavljivanja jednog niza unutar drugog.


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.

Dodatne informacije

Funkcije niza i njihovo korištenje