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 [, confronta ] )

Gli argomenti della sintassi della funzione InStr sono i seguenti:

Argomento Descrizione
start Facoltativo. Espressione numerica che imposta la posizione iniziale per ogni ricerca. Se omesso, la ricerca inizia dalla posizione del primo carattere. Se start contiene Null, si verifica un errore. L'argomento iniziale è obbligatorio se si specifica il 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 il confronto è Null, si verifica un errore. Se il confronto viene omesso, l'impostazione OptionCompare determina il tipo di confronto. Specifica un LCID valido (LocaleID) per utilizzare le regole specifiche delle impostazioni locali nel confronto.

Suggerimento

Il Generatore di espressioni include IntelliSense, in modo da poter vedere gli argomenti richiesti dall'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 Restituisce InStr
stringa1 è di lunghezza zero 0
stringa1 è Null Null
stringa2 è di lunghezza zero inizio
stringa2 è Null Null
stringa2 non trovata 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 dati 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 si possano usare le espressioni. Ad esempio, se si vuole trovare la posizione del primo punto (.) in un campo contenente indirizzi IP (denominato IPAddress), è possibile usare InStr per trovarla, in questo modo:

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 utilizzare altre funzioni, operando sull'output della funzione InStr , per estrarre la porzione di 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 di 1 determina il numero di caratteri che precedono il primo punto, in questo caso 2. La funzione Left estrae quindi il numero di caratteri desiderato 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).

In questo esempio viene utilizzata 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