InStr-funktio

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Palauttaa variantin (Long), joka määrittää toisessa merkkijonossa olevan yhden merkkijonon ensimmäisen esiintymän sijainnin.

Esimerkkejä

Syntaksi

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

InStr-funktion syntaksilla on seuraavat argumentit:

Argumentti Kuvaus
alku Valinnainen. Numeerinen lauseke, joka määrittää kunkin haun alkamiskohdan. Jos se jätetään pois, haku alkaa ensimmäisen merkin kohdasta. Jos alku sisältää tyhjäarvon, ilmenee virhe. Alku-argumentti on pakollinen, jos vertailu on määritetty.
merkkijono1 Pakollinen. Merkkijonolauseke, johon haku kohdistuu.
merkkijono2 Pakollinen. Merkkijonolauseke, jota haetaan.
vertailu Valinnainen. Määrittää merkkijonovertailun tyypin. Jos vertailu on tyhjäarvoinen, tapahtuu virhe. Jos vertailu jätetään pois, OptionCompare-asetus määrittää vertailun tyypin. Määritä kelvollinen LCID-tunniste (aluekohtaisen asetuksen tunniste) käyttämään aluekohtaisia sääntöjä vertailussa.

Vihje

Lausekkeenmuodostimessa on IntelliSense, joten näet, mitä argumentteja lauseke vaatii.

Asetukset

Vertailu-argumentin asetukset ovat seuraavat:

Vakio Arvo Kuvaus
vbUseCompareOption -1 Suorittaa vertailun käyttämällä Asetuksen vertailu -lausekkeen asetusta.
vbBinaryCompare 0 Suorittaa binaarisen vertailun.
vbTextCompare 1 Suorittaa tekstivertailun.

Palautusarvot

Jos InStr palauttaa
merkkijono1 on tyhjä 0
merkkijono1 on tyhjäarvo tyhjäarvo
merkkijono2 on tyhjä alku
merkkijono2 on tyhjäarvo tyhjäarvo
merkkijono2:ta ei löydy 0
merkkijono2 löytyy merkkijono1:stä Sijainti, josta vastine löydetään.
aloitusmerkkijono2 > 0

Huomautuksia

InStrB-funktiota käytetään merkkijonoon sisältyvien tavutietojen kanssa. InStrB palauttaa tavun sijainnin sen sijaan, että se palauttaisi toisessa merkkijonossa olevan yhden merkkijonon ensimmäisen esiintymän merkin.

Esimerkkejä

InStr-funktion käyttäminen lausekkeessa Voit käyttää InStr-str-lauseketta missä tahansa. Jos esimerkiksi haluat löytää ensimmäisen pisteen (.) sijainnin KENTÄSTÄ, joka sisältää IP-osoitteet (nimeltään IPAddress), voit etsiä sen InStr-toiminnolla seuraavasti:

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

InStr-funktio tutkii jokaisen IPOsoite-kentän arvon ja palauttaa ensimmäisen pisteen sijainnin. Jos IP-osoitteen ensimmäinen osa on 10, funktio palauttaa arvon 3.

Käyttämällä sen jälkeen muita funktioita InStr-funktion tuloksessa voit poimia ensimmäistä pistettä edeltävän IP-osoitteen osan seuraavasti

Left([IPOsoite],(InStr(1,[IPOsoite],”.”) -1))

Tässä esimerkissä InStr(1,[IPOsoite],”.”) palauttaa ensimmäisen pisteen sijainnin. Vähentämällä 1 määritetään, kuinka monta merkkiä ensimmäistä pistettä edeltää, eli tässä tapauksessa 2. Left-funktio poimii sen jälkeen niin monta merkkiä IPOsoite-kentän vasemmasta osasta ja palauttaa arvon 10.

InStr-koodin käyttäminen VBA-koodissa 

Huomautus

Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa.

Tässä esimerkissä InStr-funktiota käytetään palauttamaan toisessa merkkijonossa olevan yhden merkkijonon ensimmäisen esiintymän sijainti.


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.

Katso myös

Merkkijonofunktiot ja niiden käyttö