Você alguma vez precisou procurar uma palavra em um texto em uma planilha do Excel por exemplo? Se você trabalha com as ferramentas do Office, certamente esta operação não é muito nova para você. É por isso que este artigo Como Localizar Palavras em um Texto, vai te ajudar e muito aqui no Access.
Para exemplificar nosso conteúdo, imagine uma tabela de serviços de manutenção que você identificou para ser realizado e dentro destes serviços você precise identificar quantos são relacionados a “PINTURA”. O idel é que existisse uma coluna que trouxesse a natureza do serviço pelo menos, mais a maioria dos dos softwares de manutenção, não categorizam os serviços desta forma, infelizmente.
Para que possamos verificar esta particularidade que é identificar todos os serviços relacionados a “Pintura”, devemos criar uma consulta com um campo calculado e colocar a seguinte sintaxe:
ServiçoDePintura: EmSeq(1;[Atividade];"Pintura";"Sim")
Vamos detalhar melhor esta função, blz?
O nome “ServicoDePintura” é o nome da coluna que irá aparecer na consulta. Ela está associada a Função EmSeq, que retorna a posição de um caracter, que geralmente é uma vírgula, um ponto, ou um espaço. Esta função possui 4 argumentos:
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:
Ou seja, se a palavra “Pintura” estiver na frase, a função vai me retornar um número que será maior ou igual a 1, conforme resultado abaixo:
Como podemos perceber esta lista possui mais de 6000 registros, agora para concluir o nosso trabalho, precisamos CONTAR quantos serviços de pintura há nessa base.
Para isso, vamos adicionar mais um campo calculado e criar mais uma função
Pintura: SeImed([ServiçoDePintura]>0;"Sim";"Não")
Já nesta nova função, vamos utilizar o apoio da função SEIMED, que é igual ao SE() do Excel. Caso a coluna “ServiçoDePintura” retorne um valor maior que zero(0), a função retornará “Sim”, caso contrário retornará “Não”.
Agora fica mais fácil para identificarmos o total de serviços de pintura. Primeiramente devemos salvar esta consulta com o nome qryIdentificaPintura. Após isso, vamos criar mais uma consulta com base nesta que acabamos de salvar.
Assim vamos trazer nesta consulta a coluna Pintura e vamos contar a coluna ID, lembranco que a botão de AUTOSOMA deve estar ativo, para que possamos criar consultas agrupadas
Isso retornará o seguinte resultado:
Concluimos que de uma base de 6344 serviços, 5378 são relacionados a pintura e 966 não são relacionados
Curso de Access VBA Completo: Do Básico ao Avançado.
Quer aprender a programar no Access? Clique na imagem abaixo:
Se você quiser aprender mais sobre como usar a Função de Contagem no SQL do Access ou tiver alguma dúvida, não hesite em deixar um comentário abaixo. Estamos aqui para ajudar!