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: PrincipalArtigosAccess Básico › Capítulo 03 : 26
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
ACCESS BÁSICO - CURSO COMPLETO GRATUITO
Autor: Júlio Battisti
Lição 056 - Módulo 03 - Exemplos e Exercícios

Exemplo 01: Criar uma consulta do tipo Criação de Tabela, a qual contenha os campos NúmeroDoPedido Frete da tabela Pedidos e o campo NomeDaEmpresa da tabela Clientes, com os pedidos somente para o ano de 1997 (Ano da DataDoPedido). Transforme a consulta em uma Consulta criar tabela, a qual deverá criar uma tabela chamada "Valores de Frete para 1997". Execute a consulta e verifique se a tabela "Valores de Frete para 1997" foi realmente criada. 

Para criar a consulta proposta faça o seguinte: 

  • Abra o banco de dados ExOutrasConsultas.mdb que está na pasta C:\CursoAccBasico.
  • Crie uma nova consulta baseada nas tabelas Pedidos e Clientes.
  • Adicione os campos NúmeroDoPedido e Frete da tabela Pedidos e o campo NomeDaEmpresa da tabela Clientes.
  • Classifique a consulta em ordem crescente do NomeDaEmpresa. Adicione uma coluna para extrair o ano da DataDoPedido e adicione um critério para retornar apenas os pedidos para o ano de 1997.
  • Salve a consulta com o nome de Criar Pedidos para 1997.
  • Transforme a consulta em uma Consulta criar tabela. Para isso selecione o comando Consulta -> Consulta criar tabela.

Feito isso irá surgir a janela indicada na figura a seguir, a qual está solicitando que seja digitado o nome da tabela a ser criada. Digite Valores de Frete para 1997 e dê um clique no botão OK.

Curso Grátis de Access Básico - Júlio Battisti
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 (408). Estes serão os registros que irão estar na tabela Valores de Frete para 1997, quando esta for criada ao "executarmos" a consulta.

Volte para o modo estrutura 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 Access executa 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 para 1997. Abra esta tabela e observe que foram adicionados somente os registros cujo Ano da DataDoPedido é igual a 1997 (408 pedidos), conforme havíamos definido na consulta Criar Pedidos para 1997.

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 (botão com uma exclamação vermelha).  

Além disso se executarmos a consulta novamente, o Microsoft Access elimina 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 Access usa diferentes ícones para os diferentes tipos de consultas, conforme indicado na figura a seguir: 

Curso Grátis de Access Básico - Júlio Battisti
Diferentes ícones para os diferentes tipos de consultas. 

Marque a consulta Criar Pedidos para 1997 e dê um clique no botão Estrutura, para abri-la no modo estrutura. 

Dê um clique no botão executar consulta. Como já existe a tabela Valores de Frete para 1997, o Microsoft Access avisa 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. 

Curso Grátis de Access Básico - Júlio Battisti
O Microsoft Access pedindo 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!

Exemplo 02: Criar 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 selecione o comando Consulta - > Consulta atualização. 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 com o Ponto de Interrogação vermelho.
  • Volte para o modo estrutura e dê um clique no botão Executar. O Microsoft Access executa a consulta e atualiza os valores. Observe que nenhuma mensagem é emitida.

Voltando para o modo folha de dados 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 for 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 a consulta, executamos uma vez conforme a necessidade e saímos sem salvar, para que não haja o perigo de executarmos a consulta várias 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. 

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

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 para 1997, criada anteriormente e apenas alterar o critério para 1998. Vamos salvar a consulta com o nome de Criar Pedidos para 1998.

Para isso, marque a consulta Criar Pedidos para 1997 e dê um clique no botão Estrutura. Altere o critério na coluna Ano([DataDoPedido]) para 1998. Salve a consulta como Anexar Pedidos para 1998. Para isso dê um clique no menu Arquivo e um clique na Opção Salvar como/exportar. Na janela que surge digite o nome da consulta: Anexar Pedidos para 1998.

Transforme esta consulta em uma consulta de Anexação. Para isso dê um clique no menu Consulta e um clique na opçãoConsulta acréscimo. O Microsoft Access abre uma janela perguntando a qual consulta você deseja anexar os registros com os pedidos de 1998. Escolha Valores de Frete para 1997 e dê um clique no botão OK.

Para que os registros sejam anexados, você precisa executar a consulta. Para isso dê um clique no botão executar. O Microsoft Access anexa os registros de 1998 aos registros de 1998 já existentes na tabela Valores de Frete para 1997.

Observe no modo estrutura, como os campos estão na mesma ordem, tanto na consulta quanto na tabela, o Microsoft Access já detecta qual campo corresponde a qual campo.

Observe que o campo Ano([DataDoPedido]) 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 1998 serão anexados a tabela Valores de Frete para 1997, o que causará duplicação dos dados.

Feche a consulta de Anexação e observe os diversos tipos de consultas, indicados pelos diferentes ícones.

Nos veremos no item sobre macros, no curso de Access Avançado, 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 à 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. 

Exemplo 04: Criar uma consulta que exclua todos os Pedidos cujo PaísDeDestino seja Argentina. 

Para criar a consulta proposta faça o seguinte:

  • Crie uma nova consulta baseada na tabela Pedidos
  • Adicione o campo PaísDeDestino.
  • Transforme a consulta em uma Consulta exclusão. Para isso dê um clique no menu Consulta e depois um clique na opçãoConsulta exclusão.
  • Na linha critério do campo PaísDeDestino, digite Argentina. É muito importante que você não esqueça o critério, pois caso contrário todos os Pedidos serão excluídos.
  • 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 para aArgentina.
  • Feche a consulta, vá para a guia Tabelas e abra a tabela Pedidos. Verifique se realmente os Pedidos para Argentina 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 Access retorna, 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 do Brasil e o relacionamento entre Clientes e Pedidos estiver configurado para Propagar exclusões em cascata, o Microsoft Access tentará 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 Access nã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 sobre consultas.

EXERCÍCIOS: 

01) Criar uma consulta do tipo Criar Tabela, a qual crie um tabela com os campos NúmeroDoPedido, NomeDaEmpresa, DataDoPedido, DataDeEntrega e PaísDeDestino. O Nome da Tabela será "Pedidos Demora Entrega". A consulta deverá selecionar apenas os registros cuja diferença entre a DataDeEntrega e DataDoPedido seja maior do que 25 dias. 

02) Criar uma consulta de Atualização que altere o campo PreçoUnitário na tabela Produtos da seguinte maneira: Se o PreçoUnitário for menor do que R$ 20,00, terá uma aumento de 5%, caso contrário o aumento será de 10%. 

03) Criar uma consulta de anexação que anexa a tabela Valores de Frete para 1997 (criada anteriormente), os Pedidos de 1996. Lembre que esta tabela possui os campos NúmeroDoPedido, NomeDaEmpresa e Frete. 

04) 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 para 1997.

Para dúvidas, críticas e sugestões, entre em contato pelo email: webmaster@juliobattisti.com.br.

Conclusão:

Com isso encerramos o nosso estudo sobre consultas, onde aprendemos a criar seis diferentes tipos de consultas: 

  • Consultas de seleção
  • Consultas Tabela de referência cruzada
  • Consultas de Criação de tabela
  • Consultas de Atualização
  • Consultas de Acréscimo
  • Consultas de Exclusão

Nas lições do Próximo Módulo aprenderemos a criar formulários básicos com o Microsoft Access.


LIÇÕES DESTE MÓDULO:
031. Consultas: Definições e Usos
032. Criando uma Consulta de Seleção
033. Criação de Consultas Simples
034. Consultas Baseadas em duas ou mais Tabelas
035. Definindo Critérios de Filtragem e Ordenação em Consultas
036. Criação de Consultas Simples com Critérios
037. Totalizando Valores em Consultas
038. Mais um exemplo de Totalização
039. Exercícios
040. Criando Campos Calculados em Consultas
041. Exemplo com Valores Calculados
042. Exemplo com Valores Calculados
043. Exercícios
044. Utilizando Operadores para Definir Critérios de Pesquisa
045. Exercícios
046. Utilizando Funções do Access em Consultas
047. Funções para Tratamento de Data e Hora
048. Funções Matemáticas e de Texto
049. Uso de Funções em Consultas
050. Exemplos e Exercícios
051. Exercícios
052. Consultas Parametrizadas: Teoria e Prática
053. Exercícios
054. Consultas de Referência Cruzada: Teoria e Prática
055. Outros Tipos de Consultas no Microsoft Access
056. Exemplos e Exercícios


« Anterior Δ Página principal ¤ Capítulos Próximo »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

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-2021 ®

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

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