Funkcija InStr

Attiecas uz
Access pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Atgriež Variant (Long) vērtību, kas norāda pozīciju pirmajam virkņu pārklāšanās gadījumam.

Skatiet dažus piemērus

Sintakse

InStr([start, ] string1, string2 [, compare ] )

Funkcijas InStr sintaksei ir šādi argumenti:

Arguments Apraksts
sākums Neobligāts arguments. Skaitliska izteiksme, kas nosaka katras meklēšanas sākuma pozīciju. Ja tiek izlaists, meklēšana tiek sākta ar pirmo rakstzīmi. Ja sākums satur nulli, rodas kļūda. Arguments sākums ir nepieciešams, ja norādīts arguments salīdzināt.
virkne1 Obligāts arguments. Meklētā virknes izteiksme.
virkne2 Obligāts arguments. Meklētā virknes izteiksme.
salīdzināt Neobligāts arguments. Norāda virkņu salīdzinājuma tipu. Ja salīdzināt ir vērtība Null, rodas kļūda. Ja salīdzināšana ir izlaista, salīdzinājuma tipu nosaka iestatījums OptionComplet. Norādiet derīgu LCID (LocaleID), lai salīdzinājumā izmantotu lokalizācijas kārtulas.

Padoms

Izteiksmju veidotājam ir IntelliSense, lai jūs varētu skatīt, kādi argumenti ir nepieciešami izteiksmei.

Iestatījumi

Salīdzināšanas argumentu iestatījumi ir:

Konstante Vērtība Apraksts
vbUseCompareOption -1 Veic salīdzinājumu, izmantojot priekšraksta Opciju salīdzināšana iestatījumu.
vbBinaryCompare 0 Veic bināru salīdzinājumu.
vbTextCompare 1 Veic teksta salīdzinājumu.

Atgrieztās vērtības

Ja InStr atgriež
string1 ir nulles garuma 0
string1 is Null Null
virkne2 ir nulles garuma Sākt
string2 ir Null Null
virkne2 nav atrasta 0
virkne2 atrodas virknē1 Pozīcija, kurā tiek atrasta atbilstība
> start string2 0

Piezīmes

Funkcija InStrB tiek izmantota baitu datiem, kas iekļauti virknē. Tā vietā, lai atgrieztu rakstzīmes pozīciju pirmajam virkņu pārklāšanās gadījumam, InStrB atgriež baita pozīciju.

Piemēri

Funkcijas InStr izmantošana izteiksmēInStr varat izmantot visur, kur var izmantot izteiksmes. Piemēram, ja vēlaties atrast pirmā perioda (.) atrašanās vietu laukā, kurā ir IP adreses (ar nosaukumu IPAddress), varat izmantot InStr , lai to atrastu, līdzīgi šim:

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

Funkcija InStr pārbauda katru vērtību laukā IPAddress un atgriež pirmā perioda pozīciju. Tādējādi, ja IP adreses pirmā daļa ir 10., funkcija atgriež vērtību 3.

Pēc tam varat izmantot citas funkcijas, kas darbojas ar InStr funkcijas izvadi, lai izvilktu IP adreses daļu, kas ir pirms pirmā perioda, šādi:

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

Šajā piemērā InStr(1,[IPAddress],".") Atgriež pirmā perioda pozīciju. Atņemot 1, tiek noteikts, cik rakstzīmju ir pirms pirmā punkta, šajā gadījumā 2. Funkcija Left pēc tam izgūst reikiamu rakstzīmju daudzumu no IPAddress lauka kreisās daļas, atgriežot vērtību 10.

InStr izmantošana VBA kodā 

Piezīme

Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī.

Šajā piemērā tiek izmantota funkcija InStr , lai atgrieztu pozīciju pirmajam virkņu pārklāšanās gadījumam.


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.

Skatiet arī

Virkņu funkcijas un to izmantošana