NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
Nota: Para uma introdução aos operadores Like, In, Between, OR e AND, consulta a Lição 14 do Módulo 3 do Curso de Access Básico: Utilizando Operadores para Definir Critérios de Pesquisa.Direita
Esquerda
Meio
IfImed
Abra o banco de dados curso_av.mdb.
Acesse o modo estrutura da Consulta 02.
Exclua todos os critérios definidos anteriormente.
Coloque o seguinte critério na linha Critério do campo NomeDaEmpresa: Como "C*E"Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
![]()
Observe a utilização do Ou ao invés do E. A Primeira parte - Como "B?A" - diz para o Microsoft Access trazer a listagem dos registros onde o campo Nome da Empresa tem na primeira letra um B, não importa o que tem na segunda (?) e na terceira um A . Já a segunda parte do critério - Como "N*" -, informa ao Microsoft Access para listar aquelas empresas cuja nome termina com a letra N. Como os dois critérios estão ligados por um Ou, isto significa que para estar na listagem. basta que o NomeDaEmpresa atenda a um dos critérios, isto é, tenha na primeira letra um B e na terceira um A, ou que termine com N. Você pode observar isto na listagem que existem empresas que não terminam com n, porém atendem ao primeiro critério e existem empresas que não iniciam com B e tem na terceira letra um A, porém atendem ao segundo critério. Isto comprova que quando duas condições estiverem ligadas pelo conectivo Ou, todos os registros que atenderem a uma das condições, estarão na listagem. Se atender as duas condições melhor ainda, também estarão na listagem. A Única hipótese de um registro não estar na listagem é se não atender a nenhuma das duas condições ligadas pelo operador OU.Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Elimine os critérios adicionados anteriormente.
Coloque o seguinte critério na linha Critério do campo NomeDaEmpresa: Como "B?A*" Ou Como "*N"Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
![]()
NomeDaEmpresa iniciando com A, terceira letra B, ou terminando com N.
Temos dois aspectos importantes a serem observados nesta consulta. Primeiro a utilização do Operador "ENTRE". Este Operador, normalmente, é utilizado para pesquisar valores dentro de uma determinada faixa, sendo que o valor inicial é o limite inferior e o valor final (Após o E) é o limite superior. No campo PaísDeDestino colocamos o critério Brasil Ou EUA, para pesquisar aqueles pedidos somente para o Brasil ou os EUA. Observe que quando dois ou mais critérios são especificados na mesma linha, o Microsoft Access liga os critérios através de um operador E. No nosso exemplo para que um registro seja selecionado ele deverá ter o Número do Pedido entre 10500 e 10550 E também ter como PaísDeDestino o Brasil ou EUA.Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Elimine os critérios adicionados anteriormente.
Coloque o seguinte critério na linha Critério do campo NúmeroDoPedido: Entre 10500 E 10550Coloque o seguinte critério na linha Critério do campo PaísDeDestino: Brasil Ou EUAVá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
Pedidos entre 10500 e 10550 e cujo País de Destino seja Brasil ou EUA.
Observe o critério que utilizamos no campo DataDoPedido. Primeiro utilizamos a função Mês para extrair somente o Mês da DataDoPedido. A função Mês retorna uma valor Numérico (Jan=1, Fev=2, Mar=3, etc). Utilizamos o Operador Entre para exigir que somente fossem selecionados os registros cuja Mês esteja na faixa de 6 a 8 (Junho a Agosto). Como precisamos também fixar que somente desejamos o ano de 1995 utilizamos um operador E ( uma vez que as duas condições precisam ser atendidas - Mês de Junho a Agosto para o Ano de 1995) e o critério Ano([DataDoPedido])=1995. Fizemos uso da função Ano para extrair apenas o Ano da Data e compará-lo com 1995. Com a combinação dos dois critérios obtemos o resultado desejado para a DataDoPedido: Somente pedidos de Junho a Agosto e para o Ano de 1995. No campo NúmeroDoPedido, utilizamos o operador Entre para limitar os Pedidos com NúmeroDoPedido entre 10500 e 11000 para o Período especificado anteriormente.Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Elimine os critérios adicionados anteriormente.
Coloque o seguinte critério na linha Critério do campo DataDoPedido: (Mês([DataDoPedido]) Entre 6 E 8) E Ano([DataDoPedido])=1995Coloque o seguinte critério na linha Critério do campo NúmeroDoPedido Entre 10500 E 11000Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
![]()
Pedidos com Número entre 10500 E 11000, e Período de Junho a Agosto de 1995.
Claro que, facilmente, poderíamos obter os mesmos resultados, simplesmente utilizando o operador Como da seguinte maneira: Como "BO*". O Objetivo é salientar a utilização da função Esquerda. Esta função recebe dois parâmetros: O Nome do Campo sobre o qual a função vai atuar e o número de caracteres que ele deve retornar iniciando à esquerda do campo. Os parâmetros são separados por ponto e vírgula. Abaixo temos mais alguns exemplos de utilização da função esquerda:Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Elimine os critérios adicionados anteriormente.
Coloque o seguinte critério na linha Critério do campo NomeDaEmpresa: Esquerda([NomeDaEmpresa];2)="BO"Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
Somente os Pedidos para os registros com NomeDaEmpresa iniciando com BO.
Vamos supor que o campo Nome tenha o valor "José Carlos da Silva"Observe que o espaço em branco também conta como um caractere: Exemplos 4 e 5.
Exemplo de Uso da Função Esquerda Resultado Esquerda([Nome];2) Jo Esquerda([Nome];5) José Esquerda([Nome];3) Jos Esquerda([Nome];10) José da Si Esquerda([Nome];6) José d
Direita([NomeDoCampo];NúmeroDeCaracteres)A função Meio permite que seja retornado um determinado número de caracteres a partir de uma posição específica dentro de um campo. Por exemplo posso retornar 4 caracteres, a partir do 5 caractere. A Sua sintaxe é conforme indicado abaixo:
Meio([NomeDoCampo];PosiçãoOndeIniciar;NúmeroDeCaracteres)Na tabela abaixo temos diversos exemplos de utilização das funções Direita, Esquerda e Meio:
Estas funções são bastante úteis e podem ser utilizadas em um sem número de situações práticas do dia-a-dia.
Exemplo de Uso das Funções Direita, Esquerda e Meio Resultado Esquerda("ABCDEF123456";3") ABC Direita("ABCDEF123456";3) 456 Direita("ABCDEF123456";6) 123456 Meio("ABCDEF123456";2;3) BCD Meio("ABCDEF123456";5;4) EF12
Nota: Utilizamos [Pedidos].[PaísDeDestino] e não apenas [PaísDeDestino], pois o campo PaísDeDestino existe nas tabelas Clientes e Pedidos, e ambas fazem parte da consulta. Se colocássemos apenas [PaísDeDestino], sem o nome da tabela, o Access não conseguiria executar a consulta, pois não seria possível identificar de qual tabela a fórmula deveria pegar o campo [PaísDeDestino].Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Elimine os critérios adicionados anteriormente.
Vá para a primeira coluna em branco, ao lado do campo PaísDeDestino e digite o seguinte: CódigoApuraçãoEspecial: Esquerda([NomeDaEmpresa];3) & Direita([Pedidos].[PaísDeDestino];3)Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
Campo CódigoApuraçãoEspecial criado a partir dos campos NomeDaEmpresa e PaísDeDestino.
A novidade nesta consulta é a utilização da função SeImed, conforme indicado abaixo:Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Adicione o campo Frete da tabela Pedidos.
Vá para a coluna criada na Consulta anterior : CódigoApuraçãoEspecial e altera para que fique da seguinte maneira: CódigoApuraçãoEspecial: Esquerda([NomeDaEmpresa];3) & Direita([Pedidos].[PaísDeDestino];3) & "-" & SeImed([Frete]<=15;"Barato";"Caro")Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
Refinamentos no Campo CódigoApuraçãoEspecial.
SeImed([Frete]<=15;"Barato";"Caro")Esta função tem três parâmetros. O Primeiro faz um teste ( [Frete]<=15). Caso o teste retorne um valor verdadeiro, ou seja, o campo Frete tenha uma valor menor ou igual 15, o segundo parâmetro ("Barato") é retornado. Caso o teste ([Frete]<=15) seja falso, o terceiro parâmetro ("Caro") é retornado. Novamente utilizamos o operador & para concatenar as diversas partes que formam um campo do tipo Texto. Observe, também, que para adicionar o hífen ( "-" ), colocamos o esse entre aspas. Sempre que quisermos concatenar uma string, precisamos colocá-la entre aspas.
Além do uso da função Selmed, temos mais dois pontos importantes a observar nesta consulta. Lembrando do primeiro ítem sobre consultas, você deve formatar a coluna ImpostoFrete, para que ela exiba os valores no formato de moeda. Para fazer isto clique com o botão direito sobre a coluna, no menu que surge clique em propriedades. Na janela que surge, no campo formato escolha moeda e em casas decimais escolha 2, dê um clique em OK para fechar a janela das propriedades. Observe que dentro da função Selmed, ao invés de utilizarmos um teste de comparação, utilizamos o operador Entre para testar se o Frete está entre 0 e 15.Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Vá para a primeira coluna em Branco, bem a direita e digite o seguinte: ImpostoFrete: SeImed([Frete] Entre 0 E 15;0,15;0,2)Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
Campo Calculado para o valor do Imposto, com base no valor do Frete.
Poderíamos ter construído esta consulta utilizando o Operador OU. Em termos de funcionalidade utilizar - Brasil Ou Alemanha Ou EUA, ou utilizar IN ("Brasil";"Argentina";"EUA"), não faz diferença nenhuma. Na prática quando temos uma lista grande de valores a serem comparados, a utilização do Operador IN torna-se mais prática e de mais fácil entendimento.Se você não estiver no Modo Estrutura, volte para o modo estrutura da Consulta 02.
Se existir algum critério definido, exclua-o.
No campo PaísDeDestino, na linha critério, coloque o seguinte critério: IN ("Brasil";"Alemanha";"EUA")Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura abaixo:
Consulta exibindo os pedidos para o Brasil, Alemanha ou EUA.
Negado Em ("Brasil";"Alemanha";"EUA")Neste caso utilizamos o operador negado, para informar ao Microsoft Access que queremos todos aqueles pedidos, exceto aquelas (Negado aqueles) cujo campo PaísDeDestino seja Brasil, Alemanha ou EUA.
Selecione | Para Localizar o | Utilize com esses tipos de dados de campo |
Soma | Total dos valores em um campo. | Número, Data/Hora, Moeda e AutoNumeração |
Média | Média dos valores em um campo | Número, Data/Hora, Moeda e AutoNumeração |
Mínimo | Menor valor do campo | Texto, Número, Data/Hora, Moeda e AutoNumeração |
Máximo | Maior valor em um campo. | Texto, Número, Data/Hora, Moeda e AutoNumeração |
Contar | Número de valores em um campo, não contando valores Nulos (em branco). | Texto, Memorando, Número, Data/Hora, Moeda, AutoNumeração, Sim/Não e Objeto OLE |
Desv | Desvio padrão dos valores em um campo. | Número, Data/Hora, Moeda e AutoNumeração |
Var | Variância dos valores em um campo. | Número, Data/Hora, Moeda e AutoNumeração |
Selecione | Para |
Agrupar Por | Definir os grupos para os quais você deseja efetuar os cálculos. Por exemplo, para exibir totais de vendas por categoria, selecione Grupar Por para o campo NomeDaCategoria |
Expressão | Criar um campo calculado que inclua uma função agregada em sua expressão. Geralmente, você cria um campo calculado quando deseja utilizar várias funções em uma expressão. |
Onde | Especificar critérios para um campo que você não esteja utilizando para definir agrupamentos. Se você selecionar essa opção para um campo, o Microsoft Access ocultará o campo nos resultados da consulta limpando a caixa de seleção Mostrar. |
Outras partes do Artigo | |
Parte 1 | Criação de campos calculados em consultas |
Parte 2 | Utilização de Critérios Avançados e Operadores |
Parte 3 | Utilização de Critérios Avançados e Operadores |
Parte 4 | Exemplos de uso da Linha Totais e Consultas Parametrizadas |
Parte 5 | Consultas de Referência Cruzada |
Parte 6 | Consultas de Alteração, Exclusão e Acréscimo de Dados |
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2025 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI