InStr, functie

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Geeft een variant (lang) als resultaat die aangeeft op welke positie de ene tekenreeks de eerste keer voorkomt in een andere tekenreeks.

Enkele voorbeelden bekijken

Syntaxis

InStr([start, ] tekenreeks1, tekenreeks2 [, vergelijken ] )

De syntaxis van de functie InStr bevat deze argumenten:

Argument Beschrijving
begin Optioneel. Een numerieke expressie waarmee de beginpositie voor elke zoekbewerking wordt ingesteld. Als u dit weglaat, wordt vanaf het eerste teken gezocht. Als begin Null bevat, treedt er een fout op. Het argument begin is vereist wanneer vergelijken is opgegeven.
tekenreeks1 Vereist. De tekenreeksexpressie waarin wordt gezocht.
tekenreeks2 Vereist. De gezochte tekenreeksexpressie.
vergelijken Optioneel. Hiermee geeft u het type tekenreeksvergelijking op. Als vergelijken Null is, treedt er een fout op. Als vergelijken wordt weggelaten, bepaalt de instelling OptionCompare het type vergelijking. Geef een geldige LCID (LocaleID) op om regels in de vergelijking te gebruiken die specifiek zijn voor een bepaalde landinstelling.

Tip

De opbouwfunctie voor expressies heeft IntelliSense, zodat u kunt zien welke argumenten uw expressie nodig heeft.

Instellingen

De instellingen voor het argument vergelijken zijn als volgt:

Constante Waarde Beschrijving
vbUseCompareOption -1 Hiermee wordt een vergelijking uitgevoerd met de instelling van de instructie Option Compare.
vbBinaryCompare 0 Hiermee wordt een binaire vergelijking uitgevoerd.
vbTextCompare 1 Hiermee wordt een tekstvergelijking uitgevoerd.

Retourwaarden

Als Geeft InStr dit als resultaat
tekenreeks1 is een tekenreeks met lengte nul 0
tekenreeks1 is Null Null
tekenreeks2 is een tekenreeks met lengte nul begin
tekenreeks2 is Null Null
tekenreeks2 is niet gevonden 0
tekenreeks2 is gevonden binnen tekenreeks1 Positie waar een overeenkomst wordt gevonden
begintekenreeks2 > 0

Opmerkingen

De functie InStrB wordt gebruikt met bytegegevens in een tekenreeks. InStrB retourneert de bytepositie in plaats van de tekenpositie waar een tekenreeks voor het eerst voorkomt binnen een andere tekenreeks.

Voorbeelden

De functie InStr gebruiken in een expressie U kunt InStr overal gebruiken waar u expressies kunt gebruiken. Als u bijvoorbeeld de positie van de eerste punt (.) wilt vinden in een veld met IP-adressen (met de naam IPAddress), kunt u InStr gebruiken om deze te vinden, zoals:

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

De functie InStr onderzoekt elke waarde in het veld IPAdres en retourneert de positie van de eerste periode. Als het eerste gedeelte van het IP-adres 10 is, retourneert de functie de waarde 3.

U kunt vervolgens andere functies gebruiken met de uitvoer van de functie InStr om het gedeelte van het IP-adres vóór de eerste punt uit te pakken, zoals hier:

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

In dit voorbeeld retourneert InStr(1,[IPAdres],".") de positie van de eerste punt. Met de code -1 wordt bepaald hoeveel tekens er vóór de eerste punt staan, in dit geval 2. Via de functie Left wordt vervolgens dat aantal tekens afgetrokken van het linkergedeelte van het veld IPAdres, met de waarde 10 als resultaat.

InStr gebruiken in VBA-code 

Opmerking

In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht.

In dit voorbeeld wordt de functie InStr gebruikt om op te vragen op welke positie de ene tekenreeks de eerste keer voorkomt in een andere tekenreeks.


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.

Zie ook

Tekenreeksfuncties en hoe ze worden gebruikt