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.
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:
1º 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!
gostei de vê!
ResponderExcluirSó funciona com até 2 nomes se fosse Leyla Martins Carolyne já não funciona.
ResponderExcluirmuito bom !!! obrigada!!!
ResponderExcluirComo faço para inserir um função Texto no acces?
ResponderExcluirParabéns, extremamente didática!!!
ResponderExcluirParabéns!!! Excelente muito obrigado!
ResponderExcluir