Funzione InStr

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Restituisce un valore Variant (Long) che specifica la posizione della prima occorrenza di una stringa all'interno di un'altra.

Vedere alcuni esempi

Sintassi

InStr([inizio, ] stringa1, stringa2 [, confronto ] )

La sintassi della funzione InStr ha gli argomenti seguenti:

Argomento Descrizione
start Facoltativo. Espressione numerica che imposta la posizione iniziale per ogni ricerca. Se omesso, la ricerca inizia in corrispondenza della posizione del primo carattere. Se start contiene Null, si verifica un errore. L'argomento inizio è obbligatorio se è specificato confronto .
stringa1 Obbligatorio. Espressione stringa in cui viene eseguita la ricerca.
stringa2 Obbligatorio. Espressione stringa cercata.
compare Facoltativo. Specifica il tipo di confronto tra stringhe. Se compare è Null, si verifica un errore. Se compare viene omesso, l'impostazione OptionCompare determina il tipo di confronto. Specificare un valore LCID (LocaleID) valido per usare regole specifiche delle impostazioni locali nel confronto.

Suggerimento

Il Generatore di espressioni include IntelliSense, quindi è possibile verificare gli argomenti necessari per l'espressione.

Impostazioni

Le impostazioni dell'argomento compare sono:

Costante valore Descrizione
vbUseCompareOption -1 Esegue un confronto usando l'impostazione dell'istruzione Option Compare.
vbBinaryCompare 0 Esegue un confronto binario.
vbTextCompare 1 Esegue un confronto di testo.

Valori restituiti

Se InStr restituisce
stringa1 è di lunghezza zero 0
string1 è Null Null
stringa2 è di lunghezza zero Iniziare
string2 è Null Null
string2 non trovato 0
stringa2 si trova all'interno di stringa1 Posizione in cui viene trovata la corrispondenza
stringa iniziale2 > 0

Osservazioni

La funzione InStrB viene usata con i dati dei byte contenuti in una stringa. Invece di restituire la posizione del carattere della prima occorrenza di una stringa all'interno di un'altra, InStrB restituisce la posizione del byte.

Esempi

Usare la funzione InStr in un'espressione È possibile usare InStr ovunque sia possibile usare espressioni. Ad esempio, se si vuole trovare la posizione del primo punto (.) in un campo che contiene indirizzi IP (denominato IpAddress), è possibile usare InStr per trovarlo, nel modo seguente:

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

La funzione InStr esamina ogni valore nel campo IPAddress e restituisce la posizione del primo periodo. Quindi, se la prima parte dell'indirizzo IP è 10,, la funzione restituisce il valore 3.

È quindi possibile usare altre funzioni, che operano sull'output della funzione InStr , per estrarre la parte dell'indirizzo IP che precede il primo punto, in questo modo:

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

In questo esempio, InStr(1,[IPAddress],".") restituisce la posizione del primo periodo. La sottrazione 1 determina il numero di caratteri che precedono il primo punto, in questo caso 2. La funzione Left estrae quindi il numero di caratteri dalla parte sinistra del campo IPAddress, restituendo il valore 10.

Usare InStr nel codice VBA 

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA).

Questo esempio usa la funzione InStr per restituire la posizione della prima occorrenza di una stringa all'interno di un'altra.


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.

Vedere anche

Funzioni stringa e come usarle