Suponha que seu campo seja no formato XXXX - Nome NomeMeio Sobrenome
<< 34HDHD - Fulano de Tal.
Para extrair apenas o primeiro nome:
Utilzamos a primeira exmpressão para retirar o Código afrente do nome utilizando o Mid
>> Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2)
Utilizaremos agora o Left para pegar a primeira parte do nome
Observe a sintaxe do Left: Left(Campo,X), onde X é o número de carateres que deseja pegar a partir da esquerda.
Para conseguirmos X utilizatemos a expressão InStr que conta a posição da ocorrencia de determinado caracter, no caso o espaço.
Exemplo da função InStr
Este exemplo usa a função InStr para retornar a posição da primeira ocorrência de uma seqüência de caracteres dentro de outra.
>> Expr2: Esquerda(Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2);EmSeq(4;Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2);" ";1)-1)
<< 34HDHD - Fulano de Tal.
Para extrair apenas o primeiro nome:
Utilzamos a primeira exmpressão para retirar o Código afrente do nome utilizando o Mid
>> Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2)
Utilizaremos agora o Left para pegar a primeira parte do nome
Observe a sintaxe do Left: Left(Campo,X), onde X é o número de carateres que deseja pegar a partir da esquerda.
Para conseguirmos X utilizatemos a expressão InStr que conta a posição da ocorrencia de determinado caracter, no caso o espaço.
Exemplo da função InStr
Este exemplo usa a função InStr para retornar a posição da primeira ocorrência de uma seqüência de caracteres dentro de outra.
- Código:
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' Seqüência de caracteres a ser pesquisada.
SearchChar = "P" ' Procurar por "P".
' Uma comparação de texto iniciando na posição 4. Retorna 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' Uma comparação binária iniciando na posição 1. Retorna 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' A comparação é binária, como padrão (o último argumento é omitido).
MyPos = Instr(SearchString, SearchChar) ' Retorna 9.
MyPos = Instr(1, SearchString, "W") ' Retorna 0.
>> Expr2: Esquerda(Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2);EmSeq(4;Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2);" ";1)-1)