InStr-funktio

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

Esimerkkejä

Syntaksi

InStr ([alku, ] merkkijono1, merkkijono2 [, vertailu ] )

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ää merkkijonovertailutyypin. Jos vertailu on tyhjäarvo, ilmenee virhe. Jos vertailu jätetään pois, Asetuksenvertailu-asetus määrittää vertailun lajin. Määritä kelvollinen LCID-tunniste (aluekohtaisen asetuksen tunniste) käyttämään aluekohtaisia sääntöjä vertailussa.

Vihje: Access 2010:ssä Expression Builderillä on IntelliSense-toiminto, joten voit nähdä lausekkeen vaatimat argumentit. 

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.

vbDatabaseCompare

2

Vain Microsoft Office Access 2007. Suorittaa tietokannan tietoihin perustuvan vertailun.


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.

alku > merkkijono2

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-funktiota niissä kohdissa, missä voit käyttää lausekkeitakin. Jos haluat löytää ensimmäisen pisteen (.) sijainnin kentästä, joka sisältää IP-osoitteet (nimellä IPOsoite), voit etsiä sen InStr-funktion avulla 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-funktion käyttäminen VBA-koodissa    

Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

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.
Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×