InStr funkcija

Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Pateikia variantą (ilgąjį), nurodantį pirmojo vienos eilutės panaudojimo kitoje eilutėje vietą.

Žr. keletą pavyzdžių

Sintaksė

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

Funkcijos InStr sintaksę sudaro šie argumentai:

Argumentas Aprašas
pradžia Pasirinktinis. Skaitinis reiškinys, nustatantis kiekvienos ieškos pradžios vietą. Jei praleista, ieška pradedama nuo pirmojo simbolio vietos. Jei pradžioje yra Null, įvyksta klaida. Argumentas pradžia būtinas, jei nurodytas palyginti.
eilutė1 Būtinas. Eilutės reiškinys, kuriame ieškoma.
eilutė2 Būtinas. Ieškoma eilutės išraiška.
palyginti Pasirinktinis. Nurodomas eilučių palyginimo tipas. Jei argumentas palyginti yra Null, įvyksta klaida. Jei palyginimas praleidžiamas, OptionCompare parametras nustato palyginimo tipą. Nurodykite tinkamą LCID (LocaleID), kad palyginimui būtų naudojamos konkrečios lokalės taisyklės.

Patarimas

Reiškinio daryklėje yra "IntelliSense", todėl matote, kokie argumentai turi būti išraiškoje.

Parametrai

Argumento palyginimo parametrai yra:

Konstanta Reikšmė Aprašymas
vbUseCompareOption –1 Atlieka palyginimą naudodamas sakinio Option Compare parametrą.
vbBinaryCompare 0 Atlieka dvejetainį palyginimą.
vbTextCompare 1 Atlieka teksto palyginimą.

Pateikiamos reikšmės

If InStr grąžina
eilutė1 yra nulinio ilgio 0
eilutė1 yra neapibrėžta reikšmė Null
eilutė2 yra nulinio ilgio pradėti
eilutė2 yra neapibrėžta reikšmė Null
eilutė2 nerasta 0
eilutė2 randama eilutė1 Vieta, kurioje rastas atitikmuo
Start > string2 0

Pastabos

Funkcija InStrB naudojama su baito duomenims, esančiais eilutėje. Užuot grąžinusi pirmojo vienos eilutės panaudojimo kitoje eilutėje simbolio poziciją, InStrB grąžina baito padėtį.

Pavyzdžiai

Funkcijos InStr naudojimas reiškinyjeInStr galite naudoti visur, kur tik galite naudoti reiškinius. Pavyzdžiui, jei norite rasti pirmojo laikotarpio (.) poziciją lauke, kuriame yra IP adresai (pavadintas IPAddress), galite naudoti InStr , kad ją rastumėte, pvz.:

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

Funkcija InStr patikrina kiekvieną reikšmę lauke IPAddress ir grąžina pirmojo laikotarpio padėtį. Taigi, jei pirmoji IP adreso dalis yra 10., funkcija grąžina reikšmę 3.

Tada galite naudoti kitas funkcijas, veikiančias su funkcijos InStr išvestimi, kad išgautumėte IP adreso dalį, esančią prieš pirmąjį laikotarpį, pvz.:

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

Šiame pavyzdyje InStr(1,[IPAddress],".") Grąžina pirmojo laikotarpio padėtį. Atėmus 1 nustatoma, kiek simbolių eina prieš pirmąjį tašką, šiuo atveju – 2. Tada funkcija "Left" išgauna tiek simbolių iš kairės "IPAddress" lauko dalies ir grąžina reikšmę 10.

InStr naudojimas VBA kode 

Pastaba

Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje.

Šiame pavyzdyje naudojama funkcija InStr , grąžinanti pirmojo vienos eilutės panaudojimo kitoje eilutėje vietą.


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.

Taip pat žr.

Eilučių funkcijos ir jų naudojimas