[A BÍBLIA DO VBA NO ACCESS]: MACROS E PROGRAMAÇÃO VBA NO ACCESS - CURSO COMPLETO

Páginas: 1164 | Autor: Júlio Battisti | 50% de Desconto e 21 Super Bônus

Você está em: PrincipalArtigosAccess 2007 Avançado › Capítulo 1 : 05
Quer receber novidades e e-books gratuitos?
›››
« Anterior Δ Página principal ¤ Índice Próxima »

Curso Grátis - Access 2007 Avançado, Macros e Programação VBA
Autor: Júlio Battisti
Lição 05 - Capítulo 01 - Técnicas Avançadas em Consultas - Parte 2

5.5 - Consultas do tipo Tabela de Referência Cruzada:

          Até agora, estivemos trabalhando com consultas do tipo Seleção. Criávamos as consultas, especificávamos alguns parâmetros, e obtínhamos uma listagem com os registros que atendiam aos critérios especificados.
            Neste item iremos aprender a criar um outro tipo de consulta aceita pelo Microsoft Access 2007. Aprenderemos a criar consultas do seguinte tipo: "Consulta de tabela de referência cruzada."
            O Microsoft Office Access 2007nos oferece 6 tipos diferentes de consultas, conforme indicado abaixo:

  • Consulta de Seleção;
  • Consulta de tabela de referência cruzada;
  • Consulta criar tabela;
  • Consulta atualização;
  • Consulta acréscimo;
  • Consulta exclusão;

Os demais tipos de consultas, serão abordadas nos próximos itens.

          A consulta do tipo Tabela de Referência cruzada, conforme o próprio nome sugere, é utilizada para cruzar valores de duas grandezas. Por exemplo, posso criar uma Consulta do tipo Tabela de Referência cruzada para exibir o número de pedidos ( quantitativo de pedidos) por Cidade Destino e por ano da DataPedido, conforme indicado na figura a seguir:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 59 - Informações do Quantitativo de Pedidos por CidadeDestino e ano da DataPedido.

            Observe que as informações retornadas por uma consulta deste tipo, são informações consolidadas, onde estamos  cruzando informações da CidadeDestino, com o Ano da DataPedido. A Informação que estamos obtendo é o Quantitativo de Pedidos por Ano e CidadeDestino.

          Numa consulta do tipo Tabela de referência cruzada, temos três elementos básicos:

  • Linha
  • Coluna
  • Valor

Linha -> No exemplo da figura anterior, o campo que forma as linhas é o campo CidadeDestino, isso significa que para cada Cidade Destino o Microsoft Office Access 2007retorna uma linha.
Coluna -> No exemplo da figura anterior, o campo que forma as colunas é o Ano da DataPedido, isso significa que para cada Ano o Microsoft Office Access 2007retorna uma nova coluna.
Valor -> No exemplo da figura anterior, os valores que preenchem o restante da consulta são obtidos a partir da contagem do Número de Pedidos.

          Para entendermos bem como funcionam as consultas do tipo Tabela de referência cruzada, vamos praticar um pouco criando algumas consultas deste tipo.

            Crie a consulta indicada na figura anterior, onde será exibido o Quantitativo de Pedidos por Ano da DataPedido e CidadeDestino.

Para criar a consulta proposta faça o seguinte:

  • Crie uma nova consulta, baseada nas tabelas Pedidos e Clientes. Necessitamos da tabela Clientes para acessarmos o campo CidadeDestino;
  • Adicione os campos CidadeDestino, DataPedido e NúmeroDoPedido, nesta ordem. Na coluna DataPedido, precisamos extrair apenas o ano da DataPedido, para isto vamos utilizar a função Ano. Na linha campo, onde está DataPedido, altere para o seguinte:  Ano([DataPedido]). Observe que ao sair do campo o Microsoft Office Access 2007adiciona um Expr1:. Altere o Expr01 para Ano do Pedido;
  • Agora temos que transformar a consulta em uma consulta do tipo "Tabela de referência cruzada".  Para isso faça o seguinte: Dê um clique clique no botão "Tabela de referência cruzada"Access 2007 Avançado - Curso Completo - Júlio Battisti que se encontra em tipo de consulta na aba Design;

Access 2007 Avançado - Curso Completo - Júlio Battisti

  • Observe que duas novas linhas apareceram na estrutura da nossa consulta: A linha Total ( que já utilizamos anteriormente) e a linha Referência Cruzada. Utilizaremos estas duas linhas para definirmos a nossa consulta;
  • Na coluna CidadeDestino configure da seguinte maneira:

Total :  Agrupar Por
Referência Cruzada:           Linha

  • Com as configurações anterior, estamos informando ao Microsoft Office Access 2007que haverá uma linha para cada Cidade Destino;
  • Na coluna Ano([DataPedido]) configure da seguinte maneira:

Total: Agrupar Por
Referência Cruzada:           Título de Coluna

  • Com estas configurações, estamos informando ao Microsoft Office Access 2007que haverá uma coluna para cada Ano da DataPedido;
  • Na coluna NúmeroDoPedido configure da seguinte maneira:

Total: Contar
Referência Cruzada:           Valor

  • Com estas configurações, estamos informando ao Microsoft Office Access 2007que o campo NúmeroDoPedido formará os Valores da consulta e que este valor será obtido contando o Número de Pedidos para uma determinada CidadeDestino e Ano.
  • Em resumo nossas configurações deverão ficar conforme indicado na tabela abaixo:

Coluna

Linha Total

Linha Referência Cruzada

CidadeDestino

Agrupar Por

Linha

Ano([DataPedido])

Agrupar Por

Coluna

NúmeroDoPedido

Contar

Valor

  • Sua consulta deve estar conforme a indicada pela figura abaixo:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 60 - Modo Design da Consulta do tipo Tabela de referência cruzada.

  • Salve a consulta com o nome de Ref Cruzada 01;
  • Vá para o modo Folha de Dados e observe o resultado, deve estar conforme a figura 58.

Vamos exercitar um pouco mais as consultas do tipo Tabela de referência cruzada, para isso faça:
            Alterar a consulta Ref Cruzada 01, para que sejam exibidos os totais de Pedido por mês ao invés do Ano. Com isso teremos 12 Colunas, uma para cada mês.

Para criar a consulta proposta faça o seguinte:

  • Volte para o Modo Design da Consulta Ref Cruzada 01;
  • Na linha Campo, na coluna Ano([DataPedido]), altera para Mês([DataPedido]);
  • Vá para o modo Folha de Dados e observe os resultados. Você deve obter um resultado semelhante ao indicado na figura a seguir:

NOTA: A figura a seguir só foi mostrado os meses que contém pedidos.Sendo este o motivo de ter mostrado o mês 1,2,10,11,12.

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 61 - Número de Pedidos pela Cidade Destino e pelo Mês do Ano.

          A única mudança que fizemos foi utilizar a função Mês ao invés da função Ano. Observe que a função mês retorna o número do mês ( 1=Janeiro, 2=Fevereiro, etc). Como são doze meses no ano, obtivemos doze colunas de valores, uma vês que a expressão Mês([DataPedido]), esta formando as colunas da nossa Referência Cruzada.
          Você também poderia especificar critérios. Por exemplo, você poderia colocar um critério para que fossem exibidos somente os Pedidos para Castanhal-PA, Araxa-MG ou Uberlândia-MG. Com isso nos teríamos somente 3 linhas no resultado final, uma vez que a CidadeDestino formaria as linhas da referência cruzada e esta sendo exibido somente para três Cidades.
          Vamos fazer este teste, vá para o Modo Design da consulta Ref Cruzada 01, e na linha critério do campo CidadeDestino, digite o seguinte:

Em ("Castanhal-PA";" Araxa-MG";"Uberlândia-MG")

            Vá para o modo Folha de Dados e Observe os resultados, somente serão exibidas três linhas: Uma para Castanhal-PA, Araxa-MG ou Uberlândia-MG .

          Crie uma consulta do tipo Tabela de referência cruzada, a qual exiba o valor total dos Pedidos para Cada Cliente e pelo Ano da Data do Pedido. Classificar em ordem ascendente pelo NomeDaEmpresa.

Para criar a consulta proposta faça o seguinte:

  • Salve a consulta Ref Cruzada 01 e feche a mesma;
  • Crie uma nova consulta baseada nas tabelas: Pedidos, Clientes e Detalhes Do Pedido;
  • Adicione o campo NomeDaEmpresa da tabela Clientes;
  • Adicione o campo DataPedido da tabela Pedidos;
  • Crie uma coluna calculada, para o subtotal de cada ítem, utilizando a seguinte fórmula na primeira coluna em branco:

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

  • Transforme a consulta em uma consulta do tipo Consulta de tabela de referência cruzada. Para isso faça o seguinte: Dê um clique clique no botão "Tabela de referência cruzada"Access 2007 Avançado - Curso Completo - Júlio Battisti que se encontra em tipo de consulta na aba Design ".
  • Configure a consulta, conforme a tabela a seguir:

Coluna

Linha Total

Linha Referência Cruzada

NomeDaEmpresa

Agrupar Por

Linha

Ano([DataPedido])

Agrupar Por

Coluna

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

Soma

Valor

  • Formate a coluna calculada ( Clicando com o direito e escolhendo propriedades), como Unidade Monetária;
  • Vá para o modo folha de dados e observe o resultado, deve ficar conforme indicado na figura a seguir:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 62 - Referência cruzada com o Total dos Pedidos por NomeDaEmpresa e DataPedido.

            Crie uma consulta do tipo Tabela de referência cruzada que nos mostre o valor Médio do Frete por Cidade Destino.

Para criar a consulta proposta faça o seguinte:

  • Crie uma nova consulta baseada nas tabelas: Pedidos e na tabela Clientes;
  • Adicione o campo CidadeDestino;
  • Crie uma coluna para o mês do pedido, utilizando a seguinte expressão:

Mês_ped :Mês([DataPedido])

  • Adicione o campo Frete da tabela Pedidos;
  • Transforme a consulta em uma consulta do tipo Consulta de tabela de referência cruzada;
  • Configure a consulta, conforme a tabela indicada abaixo:

Coluna

Linha Total

Linha Referência Cruzada

CidadeDestino

Agrupar Por

Linha

Mês([DataPedido])

Agrupar Por

Coluna

Frete

Média

Valor

  • Salve a Consulta com o nome de Ref Cruzada 03;
  • Vá para o modo Folha de Dados, você deve obter um resultado semelhante ao indicado na figura a seguir:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 63 - Referência cruzada, com a média dos fretes por Mês e por CidadeDestino.

            Vamos fazer alguns exercícios para fixar bem o conceito de consultas do tipo Tabela de referência cruzada.
EXERCÍCIOS:

  • Alterar a consulta Ref Cruzada 03 para que exiba os totais de frete por CidadeDestino e por mês do ano;
  • Alterar a consulta Ref Cruzada 03 para que exiba o Quantitativo de Pedidos por CidadeDestino e por mês do ano;
  • Criar uma consulta de referência cruzada que exiba o Total de Frete por Transportadora ( campo Via da tabela Pedidos que se relaciona com o campo CódigoDaTransportadora da tabela Transportadoras, utilizar o campo NomeDaEmpresa da tabela Transportadoras) e por Mês da DataEntrega. Salvar esta consulta como Ref Cruzada 04;
  • Alterar a consulta anterior para que ao invés do Total de Frete, sejam exibidas as médias de frete;
  • Alterar a consulta anterior para que seja exibida a média anual de frete por transportadora.

5.6 - Outros tipos de consultas e suas utilizações:

          Neste ítem veremos outros 4 tipos de consultas do Microsoft Office Access 2007:

  • Consulta criar tabela;
  • Consulta atualização;
  • Consulta acréscimo;
  • Consulta exclusão;

A Maneira de construir cada um destes tipos de consultas é bastante simples. O Importante é que saibamos qual o tipo de consulta utilizar na resolução de um determinado problema. A seguir temos uma descrição de cada um dos tipos de consultas:

  • Consulta criar tabela: Definimos uma consulta como sendo do tipo Consulta criar tabela, através do menu consultas no Modo Design. Ao definirmos a consulta como sendo do tipo Criar tabela, o Microsoft Office Access 2007nos solicita que seja digitado um nome para a tabela que será criada e irá conter os dados retornados pela consulta. Para que a consulta seja executada e a tabela criada, não basta irmos para o modo Folha De Dados ( como fazíamos nas consultas de seleção e de referência cruzada ). O Modo folha de dados, neste caso, simplesmente nos mostra os registros que serão colocados na tabela a ser criada. Para executar uma Consulta criar tabela ( e em conseqüência criar a tabela) você tem que executar a consulta. Para executar uma consulta do tipo Consulta criar tabela, basta dar um clique no botão executar consulta: Botão com um Ponto de Exclamação vermelho Access 2007 Avançado - Curso Completo - Júlio Battisti. Caso já exista uma tabela com o nome da tabela que está sendo criada, o Microsoft Office Access 2007avisa que todos os registros anteriores serão excluídos e pede confirmação.

Existem diversas situações práticas em que temos necessidade de utilizar uma consulta criar tabela:

  • Transferência de Dados consolidados para outros programas, banco de dados, planilhas, etc;
  • Criação de tabelas auxiliares de utilização temporária;
  • Transferência de dados para um Pen Driver ou para transferência dos dados para outros sistemas;
  • Extração de dados para envio por e-mail ou outra forma de envio automaticamente.
  • Consulta atualização: Definimos uma consulta como sendo do tipo Consulta atualização, através do menu consultas no Modo Design. Ao definirmos uma consulta como sendo do tipo atualização, surge uma nova linha "Atualizar para", no Modo Design da consulta. Um exemplo prático para utilização de consultas de atualização poderia ser uma situação em que temos que aumentar os valores de um campo em 20%. Por exemplo, poderíamos criar uma consulta de atualização para aumentar em 20% o valor do Frete de todos os pedidos. Outro exemplo, poderíamos criar uma consulta de atualização para substituir todos as ocorrências de Castanhal-PA para CidadeDestino. Para executar uma Consulta de atualização você tem que executar a consulta. Para executar uma consulta do tipo Consulta atualização, basta dar um clique no botão executar consulta: Botão com um Ponto de Exclamação vermelho Access 2007 Avançado - Curso Completo - Júlio Battisti. Ao clicar neste botão, o Microsoft Office Access 2007avisa quantas linhas serão atualizadas e pede confirmação, basta clicar no botão Sim para confirmar a execução da consulta. Você também pode especificar critérios em uma consulta de seleção. Por exemplo, apenas aumentar em 20 % os Pedidos cujo frete for maior do que R$ 20,00. Devemos tomar o cuidado de não executar uma mesma consulta de atualização diversas vezes. No nosso exemplo anterior, cada vez que a consulta for executada, o valor do Frete será aumentado em 20 %.
  • Consulta acréscimo: Definimos uma consulta como sendo do tipo Consulta acréscimo, através do menu consultas no Modo Design. Também conhecida como consulta de anexação. Bastante semelhante a consulta de criação de tabela, apenas com a diferença que ao invés de criar uma nova tabela ou eliminar os registros caso a tabela já exista, a consulta de acréscimo, anexa o resultado da consulta aos registros já existentes na tabela especificada. A exemplo das consultas criar tabela e de atualização, a consulta de acréscimo também necessita ser executada. Ir para o modo folha de Dados, simplesmente nos mostra quais os registros serão anexados a tabela especificada, porém para anexar os registros precisamos executar a consulta. Para que a consulta de acréscimo tenha sucesso, algumas condições devem ser atendidas: O Número e o tipo dos campos da consulta e da tabela onde serão anexados devem ser compatíveis. O Nome dos campos, não necessita, obrigatoriamente, ser igual, embora esta seja um prática recomendada. Podemos utilizar este tipo de consulta para irmos acumulando registros em uma tabela. Por exemplo, podemos criar um consulta que crie uma tabela com o total de vendas mensais e utilizar uma consulta de anexação para consolidar os resultados em um tabela de vendas anuais.
  • Consulta exclusão: Definimos uma consulta como sendo do tipo Consulta exclusão, através do menu consultas no Modo Design. Utilizamos uma consulta exclusão para eliminarmos registros em uma determinada tabela. Devemos tomar cuidado ao definirmos uma consulta do tipo exclusão, pois se não especificarmos nenhum critério de filtragem, todos os registros da tabela em questão serão excluídos, embora o Microsoft Office Access 2007 nos peça confirmação antes de efetivar a exclusão. A exemplo dos outros tipos de consultas vistos neste ítem, não basta ir para o Modo Folha de Dados. Para executar a consulta você precisa dar um clique no botão executar ( Botão com um Ponto de Exclamação vermelho).  Por exemplo, poderíamos criar uma consulta do tipo exclusão para eliminarmos todos os Pedidos, cujo valor do frete fosse inferior a R$ 10,00. Ou poderíamos criar uma consulta para eliminar todos os registros cuja diferença, em dias, entre a DataPedido e a DataEntrega for maior do que 15 dias.

Conforme observaremos mais adiante, o Microsoft Office Access 2007 utiliza um ícone diferente para cada um dos tipos de consultas. Agora chegou a hora de exercitarmos um pouco.

            Crie uma consulta do tipo Criação de Tabela, a qual contenha os campos NúmeroDoPedido, NomeDaEmpresa e Frete, com os pedidos para o ano de 2009 (Ano da DataPedido). Transforme a consulta em uma Consulta criar tabela, a qual deverá criar uma tabela chamada "Valores de Frete".

Para criar a consulta proposta faça o seguinte:

  • Crie uma nova consulta baseada nas tabelas Pedidos e Clientes;
  • Adicione os campos NúmeroDoPedido, NomeDaEmpresa e Frete. Classifique a consulta em ordem crescente do NomeDaEmpresa. Adicione uma coluna para extrair o ano da DataPedido e adicione um critério para pegar apenas os pedidos para o ano de 2009;
  • Salve a consulta com o nome de Criar Pedidos  2009;
  • Transforme a consulta em uma Consulta criar tabela. Para isso faça o seguinte: Dê um clique clique no botão "Criar Tabela" Access 2007 Avançado - Curso Completo - Júlio Battisti que se encontra em tipo de consulta na aba Design ". Feito isso irá surgir a janela indicada na figura a seguir, no qual está solicitando que seja digitado o nome da tabela a ser criada. Digite Valores de Frete e dê um clique em OK.

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 64 - Digite o nome da tabela a ser criada pela Consulta criar tabela.

  • Feito isso vá para o modo folha de dados e observe o número de registros. Estes serão os registros que irão estar na tabela Valores de Frete, quando esta for criada ao "executarmos" a consulta.
  • Volte para o Modo Design e executa a consulta ( dando um clique no botão com o ponto de exclamação vermelho). Como a tabela ainda não existe, o Microsoft Office Access 2007executa a consulta sem nenhuma mensagem de aviso.
  • Feche a consulta e dê um clique na guia Tabelas. Verifique se foi criada uma tabela com o nome de Valores de Frete. Abra esta tabela e observe que foram adicionados somente os registros cujo Ano da DataPedido é igual a 2009, conforme havíamos definido na consulta Criar Pedidos 2009.

Nunca é demais salientar que para que a consulta seja executada, não basta ir para o  modo folha de dados, precisamos clicar no botão executar consultas.
Além disso se executarmos a consulta novamente, o Microsoft Office Access 2007elimina a tabela criada anteriormente e cria uma nova tabela com o resultado da consulta.

            Dê um clique na guia Consultas e observe que o Microsoft Office Access 2007usa diferentes ícones para os diferentes tipos de consultas, conforme indicado na figura a seguir:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 65 - Diferentes ícones para os diferentes tipos de consultas.

            Marque a consulta Criar Pedidos 2009 e dê um clique com o botão direito do mouse, no menu que surge clique em Modo Design.
Dê um clique no botão executar consulta. Como já existe a tabela Valores de Frete, o Microsoft Office Access 2007avisa que a tabela existente será excluída e uma nova será criada, conforme indicado pela figura abaixo. Basta clicar em sim que a tabela existente será excluída e a nova será criada.

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 66 - O Microsoft Office Access 2007pedindo confirmação para excluir a tabela existente.

            Ao clicar em Sim, a tabela anterior será excluída e uma nova tabela será criada, a qual conterá os registros retornados como resultado da consulta.

            Vamos exercitar um pouco mais.

            Crie uma consulta do tipo Consulta atualização, a qual altere o valor do campo Frete da tabela Pedidos, da seguinte maneira:

            Frete menor ou igual a 15   -> Aumento de 10 %
            Frete maior do que 15         -> Aumento de 20 %

Para criar a consulta proposta faça o seguinte:

  • Crie uma nova consulta baseada na tabela Pedidos;
  • Adicione o campo Frete. Observe que estamos adicionando apenas o campo que queremos atualizar;
  • Transforme a consulta em uma Consulta atualização. Para isso faça o seguinte: Dê um clique clique no botão "Atualização" Access 2007 Avançado - Curso Completo - Júlio Battisti que se encontra em tipo de consulta na aba Design ". Observe que uma nova linha Atualizar para foi adicionada a estrutura da consulta;
  • Salve a consulta com o nome de Atualiza Frete;
  • Na Linha Atualizar Para, coloque a seguinte expressão:

SeImed([Frete]<=15;[Frete]*1,1;[Frete]*1,2)

  • Utilizamos novamente a função Selmed para testarmos se o frete for menor ou igual a 15, aumentamos em 10 % ( [Frete]*1,1), caso contrário aumentamos em 20 % ( [Frete]*1,2);
  • Vá para o modo Folha de Dados e Observe os Valores do Frete. Ao ir para o modo Folha de Dados a consulta ainda não foi executada e portanto, os valores do frete ainda não foram atualizados. Para atualizar os valores, precisamos executar a consulta, clicando no botão Access 2007 Avançado - Curso Completo - Júlio Battisti;
  • Volte para o Modo Design e dê um clique no botão Executar. O Microsoft Office Access 2007executa a consulta e atualiza os valores. Observe que nenhuma mensagem é emitida.
  • Voltando para o Modo Design você poderá constatar que os valores do frete foram alterados em relação aos valores anteriores, conforme definido na consulta.

Nunca é demais salientar que devemos tomar cuidado com as consultas de atualização. Se executarmos novamente a consulta deste exemplo, mais 10 % será adicionado aos registros com frete menor ou igual a 15 e mais 20 % será adicionado aos registros com frete maior do que 15. Cada vez que a consulta é executada, os registros são alterados, conforme definido pela consulta.
Por isso que é uma prática comum não salvar as consultas do tipo atualização. Apenas criamos as mesmas, executamos uma vez conforme a necessidade e saímos sem salvar, para que não haja o perigo de executarmos a mesma mais vezes, o que seria indesejável.
Também nunca é demais salientar que a consulta de atualização precisa ser executada, não basta ir para o modo Folha de Dados.

          Crie uma consulta com os campos  NúmeroDoPedido, NomeDaEmpresa e Frete, a qual filtre apenas os Pedidos para 2010. Transforme esta consulta em uma consulta de acréscimo, a qual adiciona os registros de 2010 aos registros já existentes de 2009 na tabela Valores de Frete.

Para criar a consulta proposta faça o seguinte:

  • Ao invés de criar a consulta a partir do zero, vamos utilizar a consulta Criar Pedidos 2009 e apenas alterar o critério para 2010. Vamos salvar a consulta com o nome de Criar Pedidos 2010;
  • Para isso, marque a consulta Criar Pedidos 2009 e dê um clique no botão Modo Desing. Altere o critério na coluna Ano([DataPedido]) para 2010.
  • Transforme esta consulta em uma consulta de Anexação. Para isso faça o seguinte: Dê um clique clique no botão "Acréscimo"  Access 2007 Avançado - Curso Completo - Júlio Battisti que se encontra em tipo de consulta na aba Design. O Microsoft Office Access 2007abre uma janela perguntando a qual consulta você deseja anexar os registros com os pedidos de 2010. Escolha Valores de Frete, conforme indicado na figura a seguir:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 67 - Escolha o nome da Tabela onde serão anexados os registros de 2010.

  • Para que os registros sejam anexados, você precisa executar a consulta. Para isso dê um clique no botão executar. O Microsoft Office Access 2007anexa os registros de 2010 aos registros de 2009 já existentes na tabela Valores de Frete;
  • Observe no Modo Design, como os campos estão na mesma ordem, tanto na consulta quanto na tabela, o Microsoft Office Access 2007já detecta qual campo corresponde a qual campo, conforme indicado na figura abaixo:

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 68 - Associação entre os campos da Consulta e da Tabela.

  • Observe que o campo Ano([DataPedido]) não é incluído na tabela Valores de Frete, pois o mesmo não é nem sequer exibido na consulta, pois funciona apenas como um filtro para a consulta;
  • Também temos que ter o cuidado de não executar a consulta mais do que uma vez, pois senão, cada vez que a consulta for executada, todos os pedidos de 2010 serão anexados a tabela Valores de Frete, o que causará duplicação dos dados.
  • Feche a consulta de Anexação e observe na figura a seguir os diversos tipos de consultas, indicados pelos diferentes ícones.

Nos veremos no ítem sobre macros a automação de tarefas através do uso de Macros e consultas do tipo acréscimo, criar tabela, atualização e exclusão. Por exemplo, a medida que o tempo passa pode ser necessário fazer um arquivamento mensal dos Pedidos. Isso pode ser feita através de uma consulta de anexação que anexa os pedidos do mês que passou a tabela de arquivamento , seguida de uma consulta que exclui os pedidos que foram arquivados. Estas consultas podem executar em seqüência através da utilização de uma Macro, a qual pode ser programada para executar todo dia 1º de cada mês.

Access 2007 Avançado - Curso Completo - Júlio Battisti
Figura 69 - Diferentes ícones para cada tipo de consulta.

            Crie uma consulta que exclua todos os Pedidos cuja CidadeDestino seja Uberaba-MG.

Para criar a consulta proposta faça o seguinte:

  • Crie uma nova consulta baseada na tabela Pedidos;
  • Adicione o campo CidadeDestino;
  • Transforme a consulta em uma Consulta exclusão. Para isso faça o seguinte: Dê um clique clique no botão "Exclusão"  Access 2007 Avançado - Curso Completo - Júlio Battisti que se encontra em tipo de consulta na aba Design.
  • Na linha critério do campo CidadeDestino, digite Uberaba-MG. É muito importante que você não esqueça o critério, pois caso contrário todos os Pedidos serão eliminados.
  • Para excluir os registros você precisa executar a consulta. Dê um clique no botão executar;
  • Salve a consulta com o nome de Exclui Pedidos;
  • Feche a consulta, vá para a guia Tabelas e abra a tabela Pedidos. Verifique se realmente os Pedidos para Uberaba-MG foram excluídos.

Você deve ter bastante cuidado na hora de especificar os critérios em uma consulta de exclusão. Antes de executar a consulta e realmente excluir os registros, você pode ir para o Modo Folha de dados e observar os registros que o Microsoft Office Access 2007retorna, pois são estes os registros que serão excluídos quando a consulta for executada.
Pode acontecer de você receber uma mensagem de erro na hora de executar uma consulta de exclusão. Normalmente estas mensagens estão ligadas a problemas nos relacionamentos. Por exemplo, se você estiver excluindo clientes de Uberlândia-MG e o relacionamento entre Clientes e Pedidos estiver configurado para Propagar exclusões em cascata, o Microsoft Office Access 2007tentará excluir os Pedidos ( na tabela Pedidos) dos clientes que estão sendo excluídos. Se a tabela Pedidos estiver em uso por alguma outra consulta ou formulário, o Microsoft Office Access 2007não conseguirá excluir os pedidos e retornará uma mensagem de erro. Isso aumenta em complexidade, uma vez que a tabela Pedidos se relaciona com Detalhes do Pedido, a qual poderia estar em uso e assim por diante.
            Vamos exercitar um pouco para que possamos fixar os conceitos apresentados neste tópico.

EXERCÍCIOS:

  • Criar uma consulta do tipo Criar Tabela, a qual crie um tabela com os campos NúmeroDoPedido, NomeDaEmpresa, DataPedido, DataEntrega e CidadeDestino. O Nome da Tabela será "Pedidos Demora Entrega". A consulta deverá selecionar apenas os registros cuja diferença entre a DataEntrega e DataPedido seja maior do que 25 dias;
  • Criar uma consulta de Atualização que altere o campo PrecoUnitario na tabela Produtos da seguinte maneira: Se o PrecoUnitario for menor do que R$ 20,00, terá uma aumento de 5 %, caso contrário o aumento será de 10 %;
  • Criar uma consulta de anexação que anexa a tabela Valores de Frete, os Pedidos de 2010. Lembre que esta tabela possui os campos NúmeroPedido, NomeDaEmpresa e Frete;
    • Criar uma consulta de exclusão a qual elimina todos os Pedidos com valor de Frete inferior a R$ 10,00 da tabela Valores de Frete.
« Anterior Δ Página principal ¤ Índice Próxima »

ESTA LIÇÃO FAZ PARTE DO SEGUINTE LIVRO DO JÚLIO BATTISTI:

 

Se você não quiser aguardar até que todas as lições sejam publicadas aqui no site (previsão de conclusão para o final de 2017), você pode ter acesso a todas as lições comprando o livro a seguir e ainda receber, de bônus, mais de 37 horas de Vídeo Aulas de Access.

 

Aprenda com Júlio Battisti: Access 2007 Avançado,

Macros e Introdução à Programação VBA

  • Crie campos calculados, critérios avançados e Consultas Parametrizadas.

  • Aprenda os comandos SQL em detalhes.

  • Criação e Utilização de Macros.

  • Configurações de Segurança do Banco de dados.

  • Exemplos práticos explicados passo a passo.

  • Introdução à programação VBA com exemplos.

  • BôNUS: 37,5 horas de Vídeo Aulas de Excel e Acc.ess +  DVD com 3167 E-books + 2400 Planilhas Profissionais Editáveis do Excel de bônus.

Aprenda com Júlio Battisti: Access 2007 Avançado, Macros e Introdução à Programação VBA

Aprenda com Júlio Battisti: Access 2007 Avançado, Macros e Introdução à Programação VBA

Na compra deste livro você recebe, via Download, todos os Bônus a Seguir:

  • Bônus 01: Vídeo Aula: Access 2007 - Básico e Prático - 5:30 horas

  • Bônus 02: Vídeo Aula: Access 2007 - Consultas - 4:30 horas

  • Bônus 03: Vídeo Aula: Access 2007 - Intermediário - 5:00 horas

  • Bônus 04: Vídeo Aula: Access 2007 - Formulários e Macros - 6:00 horas

  • Bônus 05: Vídeo Aula: Access 2007 - Avançado e VBA - 11:30 horas

  • Bônus 06: Pacote com 3167 E-books com Cursos de Informática.


Livros e Vídeo Aulas sobre Banco de Dados:

A Bíblia de Banco de Dados SQL e o Modelo Relacional de Dados

Apre.nda com Júlio Battisti: Acc.ess 2010 Avançado, Macros e Programação VBA - Passo a Passo

Apre.nda com Júlio Battisti: Banco de Dados e Acc.ess 2010 - Através de Exemplos Práticos - Passo a Passo

[186 Vídeo Aulas em 3 DVDs - Frete Grátis]: Linguagem SQL + Banco de Dados + Análise e Modelagem de Banco de Dados - Curso Completo - 186 Vídeo Aulas - 3 DVDs

  [Vídeo Aula - Frete Grátis:] Oracle PL SQL Procedures Functions Triggers Forms Reports - Curso Completo - 182 Vídeo Aulas - 3 DVDs

Best Sellers de Access do Julio Battisti

Todos com Vídeo Aulas, E-books ou Exemplos de Brinde!

Programação VBA no Access 2010 - Exemplos Práticos - Passo a Passo

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 1164 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Access 2010 Avançado, Macros e Programação VBA - Passo a Passo

Livro: Aprenda com Júlio Battisti: Access 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 828 | Editora: Instituto Alpha

 

Livro: Aprenda com Júlio Battisti: Access 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • 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-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI