Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Devolve uma Variante (Longo) especificando a posição da primeira ocorrência de uma cadeia dentro de outra.

Ver alguns exemplos

Sintaxe

InStr ([start, ] string1, string2 [, compare ] )

A sintaxe da função InStr tem estes argumentos:

Argumento

Descrição

começar

Opcional. Expressão numérica que define a posição inicial para cada pesquisa. Se for omitida, a procura começa na posição do primeiro caráter. Se iniciar contiver Nulo, ocorrerá um erro. O argumento início é necessário se comparar for especificado.

cadeia1

Obrigatório. Expressão de cadeia a ser pesquisada.

cadeia2

Obrigatório. Expressão de cadeia procurada.

comparar

Opcional. Especifica o tipo de comparação de cadeias. Se comparar for Nulo, ocorre um erro. Se comparar for omitido, a definição Comparação de Opções determina o tipo de comparação. Especifique um LCID (LocaleID) válido para utilizar regras específicas da região na comparação.

Sugestão: O Construtor de Expressões tem o IntelliSense, pelo que pode ver os argumentos de que a expressão necessita.

Definições

As definições do argumento comparar são:

Constante

Valor

Descrição

vbUseCompareOption

-1

Efetua uma comparação com a definição da instrução Comparação de Opções .

vbBinaryCompare

0

Efetua uma comparação binária.

vbTextCompare

1

Efetua uma comparação textual.

Valores Devolvidos

Se

InStr devolve

string1 é de comprimento zero

0

string1 é Null

Null

string2 é de comprimento zero

começar

string2 é Nulo

Null

a cadeia2 não foi encontrada

0

A cadeia2 encontra-se na cadeia1

Posição na qual a correspondência é encontrada

iniciar > cadeia2

0

Observações

A função InStrB é utilizada com dados de bytes contidos numa cadeia. Em vez de devolver a posição do caráter da primeira ocorrência de uma cadeia dentro de outra, InStrB devolve a posição de byte.

Exemplos

Utilizar a função InStr numa expressão    Pode utilizar InStr onde quer que possa utilizar expressões. Por exemplo, se quiser encontrar a posição do primeiro período (.) num campo que contém endereços IP (denominado IPAddress), pode utilizar o InStr para o localizar, da seguinte forma:

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

A função InStr examina cada valor no campo IPAddress e devolve a posição do primeiro período. Assim, se a primeira parte do endereço IP for 10., a função devolve o valor 3.

Em seguida, pode utilizar outras funções, operando na saída da função InStr , para extrair a parte do endereço IP que precede o primeiro período, da seguinte forma:

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

Neste exemplo, InStr(1,[IPAddress],".") devolve a posição do primeiro período. Subtrair 1 determina quantos carateres precedem o primeiro período, neste caso, 2. Em seguida, a função Esquerda extrai tantos carateres da parte esquerda do campo IPAddress, devolvendo o valor 10.

Utilizar InStr no código VBA    

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications).

Este exemplo utiliza a função InStr para devolver a posição da primeira ocorrência de uma cadeia dentro de outra.

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.

Consulte Também

As funções de cadeia e como utilizá-las

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.