Applies ToAccess pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnează o valoare variant (lungă) specificând poziția primei ocurențe a unui șir în cadrul altui șir.

Vedeți câteva exemple

Sintaxă

InStr ([start, ] șir1, șir2 [, comparare ] )

Sintaxa funcției InStr are următoarele argumente:

Argument

Descriere

început

Opțional. Expresie numerică care setează poziția de început pentru fiecare căutare. Dacă este omisă, căutarea începe la poziția primului caracter. Dacă start conține Nul, apare o eroare. Argumentul start este necesar dacă se specifică compararea .

șir1

Obligatoriu. Expresia șir în care se caută.

șir2

Obligatoriu. Expresia șir căutată.

Compara

Opțional. Specifică tipul de comparație șiruri. Dacă compare este Null, apare o eroare. Dacă comparare este omisă, setarea Comparareopțiuni determină tipul de comparație. Specificați un LCID valid (LocaleID) pentru a utiliza reguli specifice setărilor regionale în comparație.

Sfat: Generatorul de expresii are IntelliSense, astfel încât să puteți vedea ce argumente necesită expresia dvs.

Setări

Setările argumentelor de comparare sunt:

Constantă

Valoare

Descriere

vbUseCompareOption

-1

Efectuează o comparație utilizând setarea instrucțiunei Comparare opțiuni .

vbBinaryCompare

0

Efectuează o comparație binară.

vbTextCompare

1

Efectuează o comparație textuală.

Valori returnate

If

InStr returnează

șir1 este de lungime zero

0

șir1 este Null

Nul

șir2 este de lungime zero

început

șir2 este Null

Nul

șir2 nu s-a găsit

0

șir2 se găsește în șir1

Poziția în care se găsește potrivirea

pornire > șir2

0

Observații

Funcția InStrB este utilizată cu datele byte conținute într-un șir. În loc să returneze poziția caracterului primei apariții a unui șir în interiorul altuia, InStrB întoarce poziția octetului.

Exemple

Utilizarea funcției InStr într-o expresie    Puteți utiliza InStr oriunde puteți utiliza expresii. De exemplu, dacă doriți să găsiți poziția primei perioade (.) într-un câmp care conține adrese IP (denumit IPAddress), puteți utiliza InStr pentru a-l găsi, astfel:

InStr(1,[ADRESĂPO],".")

Funcția InStr examinează fiecare valoare din câmpul IPAddress și returnează poziția primei perioade. Prin urmare, dacă prima parte a adresei IP este 10., funcția returnează valoarea 3.

Apoi puteți utiliza alte funcții, care operează la ieșirea funcției InStr , pentru a extrage porțiunea de adresă IP care precedă prima perioadă, astfel:

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

În acest exemplu, InStr(1,[ADRESĂ IP],".") returnează poziția primei perioade. Scăderea numărului 1 determină câte caractere preced prima perioadă, în acest caz, 2. Funcția Left extrage apoi că multe caractere din partea stângă a câmpului IPAddress returnează valoarea 10.

Utilizarea InStr în codul VBA    

Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA).

Acest exemplu utilizează funcția InStr pentru a returna poziția primei apariții a unui șir în interiorul altui șir.

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.

Consultați și

Funcțiile de șir și utilizarea acestora

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.