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

Ver alguns exemplos

Sintaxe

InStr (início, ] 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 o arranque contiver Nulo, ocorre um erro. O argumento início é necessário se comparar for especificado.

cadeia1

Obrigatório. Expressão de corda a ser revistada.

cadeia2

Obrigatório. Expressão de corda procurada.

comparar

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

Sugestão:  No Access 2010, o Construtor de Expressões tem IntelliSense, para que possa ver que argumentos a sua expressão necessita. 

Definições

As definições de argumento de comparação são:

Constante

Valor

Descrição

vbUseCompareOption

-1

Executa uma comparação utilizando a definição da declaração de Opção Comparar.

vbBinaryCompare

0

Realiza uma comparação binária.

vbTextCompare

1

Realiza uma comparação textual.

vbDatabaseCompare

2

sóMicrosoft Office Access 2007. Realiza uma comparação com base em informações na sua base de dados.


Valores Devolvidos

Se

Retornos inStr

string1 é de comprimento zero

0

string1 é nula

Null

string2 é de comprimento zero

começar

string2 é nula

Null

string2 não é encontrado

0

string2 é encontrado dentro da cadeia1

Posição em que jogo é encontrado

iniciar > cadeia2

0


Observações

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

Exemplos

Utilize a função InStr numa expressão    Pode utilizar o InStr onde quer que possa utilizar expressões. Por exemplo, se quiser encontrar a posição do primeiro período (.) num campo que contenha endereços IP (nomeado IPAddress), pode utilizar o InStr para o encontrar, assim como:

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, assim:

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

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

Utilizar InStr em código VBA    

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função InStr para devolver a posição da primeira ocorrência de uma corda 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.

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

Precisa de mais ajuda?

Aumente os seus conhecimentos

Explore as formações >

Seja o primeiro a obter novas funcionalidades

Aderir ao Microsoft insiders >

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×