Restituisce un valore Variant (Long) che specifica la posizione della prima occorrenza di una stringa all'interno di un'altra.
Sintassi
InStr ([Start; ] stringa1, string2 [, compare ] )
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 nella posizione del primo carattere. Se Start contiene null, si verifica un errore. L'argomento Start è obbligatorio se viene specificato compare . |
stringa1 |
Obbligatorio. Espressione stringa in cui viene eseguita la ricerca. |
string2 |
Obbligatorio. Espressione stringa ricercata. |
compare |
Facoltativo. Specifica il tipo di confronto di stringhe. Se compare è null, si verifica un errore. Se compare viene omesso, l'impostazione Optioncompare determina il tipo di confronto. Specificare un LCID valido (LocaleID) per usare regole specifiche delle impostazioni locali nel confronto. |
Suggerimento: In Access 2010, il Generatore di espressioni usa la tecnologia IntelliSense, che consente di identificare gli argomenti obbligatori nell'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. |
vbDatabaseCompare |
2 |
Solo per Microsoft Office Access 2007. Esegue un confronto basato sulle informazioni del database. |
Valori restituiti
Se | Restituzione di InStr |
---|---|
stringa1 è di lunghezza zero |
0 |
stringa1 è null |
Null |
string2 è di lunghezza zero |
iniziare |
string2 è null |
Null |
String2 non viene trovato |
0 |
string2 si trova all'interno di stringa1 |
Posizione in cui viene trovata la corrispondenza |
avviare > string2 |
0 |
Note
La funzione InStrB viene usata con i dati di 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 in byte.
Esempi
Usare la funzione InStr in un'espressione Puoi usare InStr ovunque sia possibile usare le espressioni. Ad esempio, se si vuole trovare la posizione del primo periodo (.) in un campo che contiene indirizzi IP (denominato IPAddress), è possibile usare InStr per trovarlo, 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 usare altre funzioni, che operano nell'output della funzione InStr , per estrarre la parte dell'indirizzo IP che precede il primo periodo, in questo modo:
Left ([IndirizzoIP], (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 periodo, in questo caso 2. La funzione Left estrae quindi molti 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). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.
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.
Nota: Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Queste informazioni sono risultate utili' Questo è l'articolo in inglese per riferimento.