MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    Extrair primeiro nome em um campo cujo nome seja precedido por um código e precedido pelo sobrenome

    avatar
    Convidado
    Convidado


    Extrair primeiro nome em um campo cujo nome seja precedido por um código e precedido pelo sobrenome Empty Extrair primeiro nome em um campo cujo nome seja precedido por um código e precedido pelo sobrenome

    Mensagem  Convidado 16/9/2013, 15:06

    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.
    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.
    Entao X será a posição do primeiro espaço após o primeiro nome, retirando 1 que é justamente o espaço

    >> Expr2: Esquerda(Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2);EmSeq(4;Meio([NomeCampo];RevEmSeq([NomeCampo];"-")+2);" ";1)-1)

      Data/hora atual: 28/3/2024, 16:15