Função EMSEQ Access

Sabe aquelas funções que você olha na ajuda do software e não entende nada... Pois é, conheça uma delas: Emseq!. Mas eu estou aqui para dar uma luz, ou pelo menos acender um pisca-pisca na cabecinha de vocês, ja que estamos próximos do Natal (ebaaaa \o/)!.

Resumidamente esta função lhe retorna a posição de um caracter, que geralmente é uma vírgula, um ponto, ou um espaço.

Esta função lhe pede 4 (quatro) critérios:

início: Que é o número de onde a contagem irá partir. Como assim? para a função lhe informar qual a posição de um caracter ele precisa começar a contar de algum lugar não é verdade? Então você vai informar onde ele vai começar, se vai ser na letra 1, na letra 2, e assim por diante;


2º cadeia de caracteres:  É a coluna onde a função irá procurar,  


3º correspondênciadeseq: que é o valor procurado, como citado anteriormente pode ser uma vígula, um ponto, ou um espaço.E por último, e no nosso caso o menos importante; 


4º comparar: Que é opcinal, e não usaremos no nosso exemplo, mas, este critério especifíca um tipo de comparação por sequencia). A função é exibida da seguinte forma:


Para entendermos melhor a função vamos criar uma tabela com o nome de TeclaTi, com o seguinte campo: Colaboradores, onde o registro utilizado para o exemplo será "Leyla Carolyne". Em seguida criaremos uma consulta onde adicionaremos esta tabela, e o campo Colaboradores a uma coluna.


Na coluna ao lado iremos fazer com que a função nos retorne a localização exata do espaço. Como? Muito simples: Localização:Emseq(1;colaboradores;" "), e a função nos retornará o número 6 para o nome Leyla Carolyne (a contagem por padrão do access, é feita sempre da esquerda para a direita).


Resultado:

Agora iremos separar o nome do sobrenome, e para isso iremos adicionar mais uma outra função, usaremos Emseq junto com a função Esquerda. Por quê? Bem, essa função irá dizer ao access que queremos pegar o que tiver antes do espaço. Como faço isso? Juntando as duas. A função esquerda pede 2 (dois) critérios o primeiro vai ser o nome do campo e o segundo, nos iremos substituir pela função Emseq: Esquerda(colaboradores_TECLA;Emseq(1;colaboradores_TECLA;" ")). 


Esta função nos retornará o nome.

E para obtermos o sobrenome, como faremos? Nós poderiamos apenas mudar a função de esquerda para direita, mas como eu falei na postagem anterior, toda função tem o seu porém, e esta função não poderia ficar de fora.(Vivaaa \o/).

Agora você se pergunta por quê? Porque a função Emseq conta sempre da esquerda para direita e nós precisamos do contrario. Aí Vem a parte legal da brincadeira. Entra agora uma outra função, que é a Compr. Mas o que ela faz? Esta função conta a quantidade de caracter dentro do campo independente de espaço, número, ou qualquer outro símbolo. Esta função tem como  critério: cadeia de caracteres (que é o nome do campo em que se deseja contar os caracteres).

E agora, como eu fasso? Iremos juntar todas as funções da seguinte forma:

 E teremos como resultado a imagem abaixo:


Vamos agora entender a função: O que estamos dizendo para o Access com isso? com a função direita estamos dizendo que queremos pegar da direita para a esquerda, certo? A próxima função vai contar o total de caracteres no campo, e fizemos uma subtração com a função Emseq. Por quê? Porque a função irá subtrair tudo que estiver antes do espaço contando da esquerda para direita, e o que nos sobra é o sobrenome.

Linda demais essa função(*-*). Beijãaaao para todos e, espero ter ajudado!

4 comentários:

Só funciona com até 2 nomes se fosse Leyla Martins Carolyne já não funciona.

Como faço para inserir um função Texto no acces?

Postar um comentário