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

Você está em: PrincipalArtigosOffice : Consultasavancadas_p1
Quer receber novidades e e-books gratuitos?
Lição 1 - Criação de campos calculados em consultas

Adição de Colunas com Valores Calculados: 

Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas no Microsoft Access. Para Criar uma consulta basta Clicar uma vez na Guia "Consultas" e depois clicar no botão Novo. O Microsoft Access apresenta a tela indicada na figura abaixo:



Clique na opção Modo Estrutura e dê um clique em OK. Surgirá a Janela indicada na figura abaixo. Nesta Janela o Microsoft Access está pedindo para que você informe em qual (ou quais ) tabelas a Consulta será baseada.



Lembre que você pode marcar mais do que uma tabela ao mesmo tempo, utilizando o Mouse em conjunto com as teclas CTRL ou SHIFT, conforme descrito no Curso de Access Básico.

No nosso exemplo, adicionaremos a tabela Detalhes do Pedido. Marque esta tabela, dê um clique no botão Adicionar de depois dê um Clique no botão Fechar.

Será exibida a Janela indicada na figura abaixo, com uma consulta em Branco e a grade para a construção da consulta. O Microsoft Access chama essa grade de QBE (Query By Example). Observe que a tabela Detalhes Do Pedido já aparece adicionada na parte superior. Caso você tenha esquecido de adicionar alguma tabela que seja necessária para a Consulta, não precisa iniciar o processo desde o início. Você pode adicionar uma consulta a qualquer momento, para isto, basta dar um clique no botão (), que será aberta a janela para adicionar tabelas, conforme indicado na figura anterior.



Em cada coluna da parte inferior você adiciona os campos que irão aparecer na Consulta. Para adicionar um campo, basta dar um clique duplo sobre o nome do campo ou arrastá-lo até a coluna onde o campo será colocado. Os campos aparecerão na listagem na mesma ordem em que forem adicionadas na grade. Caso você , por engano, adicione um mesmo campo duas vezes, o campo irá aparecer duas vezes na listagem.

Observe que na parte de baixo nos temos diversas linhas para cada campo. Na tabela abaixo segue a descrição de cada uma destas linhas.

Linha Descrição
Campo O Nome do Campo sendo adicionado. No caso de um campo calculado, mostra o nome que aparecerá na listagem. além da fórmula de cálculo, conforme detalharemos mais adiante, nesse tutorial.
Classificação Faz a Ordenação dos Resultados da Consulta. Pode ser Crescente ou Decrescente. A Ordem de Classificação é da Esquerda para a Direita, isto é, se a primeira coluna for o campo Cidade e a segunda coluna for o Nome Do Cliente e ambas estiverem classificadas de forma Crescente, a listagem será classificada com base no campo Cidade e dentro de uma mesma Cidade, com base no Nome do Cliente.
Mostrar Se esta opção estiver marcada o campo será exibido na listagem, caso contrário o campo não será exibido. Isso pode ser utilizado para ocultar campos que estão servindo apenas como Critérios para filtrar a listagem.
Critério - Ou Estas duas linhas são utilizadas para a especificação de critérios que servirão para filtrar a listagem obtida pela consulta. Iremos ver o uso de critérios, detalhadamente, mais adiante.

Seguindo o nosso exemplo, adicionaremos a tabela Pedidos e depois passaremos a adicionar campos a nossa consulta.

Adicione a tabela pedidos. Para isto dê um clique no botão com o sinal de + amarelo (), na janela que surge dê um clique na tabela Pedidos e depois dê um clique no botão Adicionar. Dê um clique no botão Fechar. Feito isso a tabela Pedidos será adicionada a grade da consulta. Observe que existe um relacionamento do tipo "Um para Vários" entre Pedidos (lado um) e "Detalhes do Pedido" (lado vários). Isso indica que um determinado pedido pode conter vários itens .Adicione os seguintes campos: 
NúmeroDoPedido da tabela Pedidos
CódigoDoCliente da tabela Pedidos
DataDaEntrega da tabela Pedidos
Classifique a listagem em ordem Crescente do campo Número do Pedido. A sua grade deve ficar como indicado na próxima figura:



Importante: Até agora trabalhamos no "Modo Estrutura" da consulta. Toda e qualquer alteração (Inclusão de Campo, Critérios, Campos Calculados, etc) na consulta somente pode ser feita no Modo Estrutura, ou diretamente através do código SQL conforme veremos mais tarde.

Para ver o resultado da consulta que foi construída até o momento, basta dar um clique no botão . Este botão permite que você alterne entre o Modo Estrutura da consulta e o modo "Folha de Dados". No modo folha de dados é que você visualiza o resultado da consulta.

Para o nosso exemplo, os resultados deverão ser semelhantes aos exibidos na próxima figura. Observe, por exemplo, para o pedido Número 10248 existem 3 ítens, por isso que aparecem três linhas na listagem, para o pedido 10248.



Dê um clique no botão bem da esquerda (). Quando você está no modo Folha de Dados, este botão faz com que você volte para o modo estrutura. De volta ao Modo Estrutura, vamos adicionar uma Coluna Calculada (Até que enfim, afinal este é o objetivo deste tópico). Adicionaremos um coluna que calcula o total de cada ítem. Este total é calculado utilizando a fórmula abaixo indicada: 

Total_Item: ([PreçoUnitário]*[Quantidade])*(1-[Desconto])           

Ao efetuarmos cálculos, colocamos o nome dos campos que farão parte dos cálculos entre colchetes. Embora este procedimento somente seja obrigatório quando o nome dos campos possuir espaços em branco, é recomendável, por questão de clareza e padronização, que sempre utilizemos os colchetes. As quatro operações básicas são representadas pelos seguintes símbolos:  

Operação Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /

A Utilização dos parênteses embora não obrigatória, cumpre a função de deixar mais clara a ordem em que as operações serão aplicadas. Os parênteses também podem ser utilizados para definir a seqüência correta das operações. No nosso exemplo, primeiro multiplicamos [PreçoUnitário] pela [Quantidade], e o resultado é multiplicado com o resultado da operação ( 1 - [Desconto]).

Para adicionar esta campo calculado, vá para a primeira coluna em branco, ao lado do campo DataDeEntrega e na linha Campo, digite:

Total_Item: ([PreçoUnitário]*[Quantidade])*(1-[Desconto])

O Texto que aparece antes dos dois pontos (:) é simplesmente uma legenda para o campo, é o título que aparecerá para a coluna no modo Folha de Dados. O que vem depois dos dois pontos é o cálculo propriamente dito.

Antes de vermos os resultados vamos formatar esta nova coluna calculada, para que ele exiba os dados no formato de moeda. Para isto faça o seguinte:
  • Dê um clique com o botão direito na coluna calculada

  • No menu que surge escolha a opção "Propriedades", irá surgir a janela indicada na figura abaixo:




  • No propriedade Formato escolha Moeda e na propriedade Casas Decimais escolha 2. Sua Janela deve ficar conforme a figura indicada abaixo:




  • Dê um clique no "x" para fechar a Janela de propriedades.

  • Dê um clique no botão bem da Esquerda para ir para o Modo "Folha de Dados". Veja que foi adicionada uma coluna com o título Total_Item, do tipo Moeda com duas casas decimais, conforme o esperado. Observe que continua aparecendo uma linha para cada ítem de cada pedido. Por exemplo, para o pedido 10248 aparecem três linhas, indicando que existem três ítens para este pedido.

  • Dê um clique no botão com o Disquete () para salvar a consulta. Ao ser solicitado o nome da consulta digite: Totais por Pedido e dê um clique em OK.

  • Dê um clique no botão bem da esquerda para voltar para o Modo Estrutura.
  • De volta ao modo estrutura, vamos fazer mais uma alteração na nossa consulta. Vamos fazer com que o Microsoft Access agrupe os registros de cada pedido e faça a soma de todos os ítens de cada pedido. Na listagem final teremos o número do pedido, código do cliente e data de entrega aparecendo uma única vez para cada pedido e no campo Calculado Total_Item ) teremos a soma de todos os ítens do pedido, isto é, o valor total do pedido.

    Para fazer isso faça o seguinte:
  • No modo estrutura, dê um clique no botão (), este botão exibirá uma linha adicional no modo estrutura: A Linha de Totais. Esta linha que irá nos permitir fazer a soma de todos os ítens de cada pedida.

  • Na linha Total mantenha a opção "Agrupado Por" para os campos "NúmeroDoPedido", "CódigoDoCLiente” e "DataDeEntrega". No campo Total_Item altera a linha Total para "Soma".

  • Clique no botão bem da esquerda para ir para o modo Folha de Dados. Conforme pode ser visto na figura abaixo, agora cada NúmeroDoPedido aparece uma única vez e o campo Total_Item fornece a soma dos ítens para cada Pedido. Isso foi possível pela utilização da linha de Totais, escolhendo Agrupar Por para os campos NúmeroDoPedido, CódigoDoCliente e DataDeEntrega e soma para o campo Total_Item.



  • Folha de Dados exibindo o total para cada pedido no campo Total_Item.
    E se ao invés do total por pedido nos quiséssemos, simplesmente, contar o número de ítens por Pedido ?

    Muito simples. Dê um clique no botão bem da esquerda para voltar ao Modo Estrutura, na linha Total, no Campo Total_Item, ao invés de Soma, selecione Contar. Clique com o direito sobre a coluna Total_Item, no menu que surge clique em propriedades. Altere a Propriedade formato para "Número Geral", dê um clique no "x" para fechar a janela de propriedades e pronto.

    Volte para o modo Folha de Dados e observe os resultados. Conforme indicado pela próxima figura, ao invés de somar os ítens de cada nota, o Microsoft Access está contando o Número de Ítens em cada nota.


    Modo Folha de Dados exibindo a quantidade de ítens por Nota.

    Vimos neste tópico, como adicionar campos calculados a uma consulta. Para isto basta colocar em uma coluna em branco o seguinte:

    Nome_Coluna: Fórmula_de_Cálculo

    Onde Nome_Coluna é simplesmente o nome que irá aparecer no cabeçalho da coluna e depois do dois pontos (:) a fórmula de cálculo. Podemos usar qualquer função do Microsoft Access para a realização de Cálculos. O Microsoft Access apresenta algumas centenas de funções para a realização de Cálculos. No curso de Access Avançado, a ser publicado no primeiro semestre de 2003, iremos ver uma série de funções.
    A referência completa de todas as funções pode ser encontrada na Ajuda que acompanha o Microsoft Access. Clique no menu Ajuda, depois em conteúdo e índice. Na janela que surge clique na guia Conteúdo. Localize o ítem "Referência do Microsoft Access e Visual Basic para Aplicativos". Dentre deste ítem existe um Tópico "Funções", onde existe uma referência completa a todas as funções disponíveis, classificadas em ordem alfabética, conforme indicado pela próxima figura.

    Agora iremos fazer alguns exercícios sobre "Campos Calculados em Consultas". Vamos aprender a utilizar funções que manipulam valores de Data e de String.

    Exercício: Neste exercício iremos fazer algumas alterações na Consulta "Totais por Pedido e Observar os Resultados obtidos."

    Para fazer algumas alterações na consulta "Totais por Pedido", siga os seguintes passos:
  • Abra a consulta "Totais por Pedido" no modo Estrutura. Para isto marque a consulta e dê um clique no botão "Estrutura".

  • Adicione o campo "DataDeEntrega" da tabela Pedidos

  • Crie uma coluna calculada com o nome Dias que nos forneça o Número de Dias entre a DataDaEntrega e a DataDoPedido. Para isto basta colocar, na coluna em Branco ao lado do campo DataDaEntrega, a seguinte fórmula:


  • Dias: [DataDeEntrega]-[DataDoPedido]


  • Clique no botão bem da esquerda para ver os resultados. Você verá uma nova coluna chamada Dias que exibe o número de dias entre a DataDeEntrega e a DataDoPedido.

  • Volte para o modo estrutura e altere a consulta de tal maneira que somente sejam exibidos os registros cuja diferença entre a DataDoPedido e a DataDeEntrega seja maior do que 20 dias. Visualize os resultados. Para isso basta colocar o critério >20 no campo Dias, calculado anteriormente.

  • Volte para o modo estrutura, retire o critério colocado no ítem anterior e adicione uma coluna que exiba apenas o Ano da DataDoPedido. Para isto vá para a primeira coluna em branco ao lado de Dias e coloque a seguinte fórmula:


  • Ano_Pedido: Ano([DataDoPedido])

  • Utilizamos a Função Ano para extrair somente o ano do campo DataDoPedido. Toda Função no Microsoft Access possuí zero ou mais parâmetros. O Formato é Nome_Função(Parâmetros). No nosso exemplo Utilizamos a função Ano e passamos como parâmetro o campo DataDoPedido. A função Ano, para cada um dos registros, extrai apenas o Ano do campo DataDoPedido. Existem funções que trabalham com dois ou mais parâmetros.

  • Vá para o modo  "Folha de Dados" e visualize os resultados.

  • Volte para o modo estrutura e adicione os seguintes critérios: Pedidos com mais do que 25 Dias entre DataDoPedido e DataDaEntrega e somente para o ano de 1995. Para isto na coluna Dias, na linha critério coloque >25 e no campo Ano_Pedido, na linha critério coloque 1995. Com isso o Microsoft Access somente exibirá os registros cuja diferença de dias for maior do que 25 e o Ano_Pedido for igual a 25. Para filtrar os registros, utilizamos o operador > ( Maior do que). Na tabela abaixo, temos uma lista dos demais operadores disponíveis:


  • Operador Descrição
    > Maior do Que
    > = Maior ou Igual
    < Menor do Que
    <= Menor ou Igual
    <> Diferente

  • Vá para o modo "Folha de Dados" e visualize os resultados. Você obterá os resultados indicados na figura a seguir:




  • Volte para o modo estrutura, retire os critérios colocados no ítem anterior e adicione uma coluna que exiba apenas o Mês da DataDoPedido. Para isto vá para a primeira coluna em branco ao lado de Ano_Pedido e coloque a seguinte fórmula:


  • Mês_Pedido: Mês([DataDoPedido])

  • Utilizamos a Função Mês para extrair somente o mês do campo DataDoPedido. A função Mês, para cada um dos registros, extrai apenas o mês do campo DataDoPedido.

  • Coloque um critério para que sejam listados apenas os Pedidos para os Meses de Janeiro, Março, Agosto ou Setembro. Para isto vá para a linha critério no campo Mês_Pedido, e digite o seguinte Critério:


  • 1 ou 3 ou 8 ou 9

  • Utilizamos o Número do Mês como Critério. O "ou" é utilizado para informar ao Microsoft Access que ele deve listar os registros, cujo valor da coluna Mês_Pedido apresente um dos valores ligados pelo conectivo lógico "ou". O Microsoft Access 97 analisa cada registro, verifica o valor da coluna Mês_Pedido, se o valor for um dos ligados pelo ou, o registro é selecionado.

  • Vá para o modo "Folha de Dados" e visualize os resultados. Dê um clique no botão com o disquete para salvar a consulta e feche a consulta.
  • Neste tópico fomos passo a passo com o objetivo de revisarmos alguns aspectos básicos das consultas. Nos próximos tópicos não iremos repetir todo o procedimento para criar uma consulta, adicionar campos e colocar critérios, vamos focar mais nos aspectos específicos de cada tópico, salientando a utilização e aplicabilidade de cada uma das técnicas que estiverem sendo apresentadas.

    OBSERVAÇÕES SOBRE O TUTORIAL:

    O tutorial é composto de teoria e exemplos práticos, passo-a-passo. Para acompanhar todas as lições desse tutorial, você deve copiar o arquivo curso_av.mdb, o qual está disponível para Download, no formato compactado (.zip), no endereço a seguir:

    CLIQUE AQUI PARA COPIAR O ARQUIVO NECESSÁRIO PARA ACOMPANHAR OS EXEMPLOS DO TUTORIAL

    Para acompanhar os exemplos desse tutorial você já deve conhecer os conceitos básicos de criação de consultas no Microsoft Access. Para detalhes sobre a criação de consultas básicas no Microsoft Access, consulte o Curso Básico de Access. Um bom estudo a todos. 

    Em caso de dúvidas, sobre o conteúdo e os exemplos do tutorial, ou para enviar sugestões sobre novos tópicos a serem incluídos, entre em contato através do e-mail: webmaster@juliobattisti.com.br. Somente serão respondidas dúvidas referentes às questões e tópicos contidos no tutorial. Não serão respondidas dúvidas sobre tópicos gerais do Microsoft Access ou sobre sistemas em desenvolvimento.

    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


    Clique aqui para voltar ao início da página

    Quer receber novidades e e-books gratuitos?

     
     

    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