Como Localizar Palavras em um Texto no Access

Reading time: 3 minutes

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!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *