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_p6
Quer receber novidades e e-books gratuitos?
Lição 6 - Consultas de Alteração, Exclusão e Acréscimo de Dados

Outros tipos de consultas e suas utilizações:
 
Neste ítem veremos outros 4 tipos de consultas do Microsoft Access:
  • 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. Abaixo 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 estrutura. Ao definirmos a consulta como sendo do tipo Criar tabela, o Microsoft Access 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 ( ! ). Ao clicar neste botão, o Microsoft Access avisa quantas linhas serão adicionadas a nova tabela e pede confirmação, basta clicar no botão Sim para confirmar a execução da consulta. Caso já exista uma tabela com o nome da tabela que está sendo criada, o Microsoft Access avisa 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 disquete ou fita 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 estrutura. Ao definirmos uma consulta como sendo do tipo atualização, surge uma nova linha "Atualizar para", no modo estrutura 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 EUA para PaísDeDestino por Estados Unidos da América. 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 ( ! ). Ao clicar neste botão, o Microsoft Access avisa 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 estrutura. 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 em uma 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 estrutura. 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 Access 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 DataDoPedido e a DataDeEntrega for maior do que 15 dias.
  • Conforme observaremos mais adiante, o Microsoft Access utiliza um ícone diferente para cada um dos tipos de consultas. Agora chegou a hora de exercitarmos um pouco.

    Exemplo 01: Criar 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 1994 (Ano da DataDoPedido). 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 DataDoPedido e adicione um critério para pegar apenas os pedidos para o ano de 1994

  • Salve a consulta com o nome de Criar Pedidos 1994

  • Transforme a consulta em uma Consulta criar tabela. Para isto dê um clique no menu consultas e clique na opção Consulta criar tabela. Feito isso irá surgir a janela indicada na figura abaixo, a qual está solicitando que seja digitado o nome da tabela a ser criada. Digite Valores de Frete e dê um clique em OK.



  • 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 estrutura e execute 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. Abra esta tabela e observe que foram adicionados somente os registros cujo Ano da DataDoPedido é igual a 1994, conforme havíamos definido na consulta Criar Pedidos 1994.
  • 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 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 97 usa diferentes ícones para os diferentes tipos de consultas, conforme indicado na figura abaixo:


    Diferentes ícones para os diferentes tipos de consultas.

    Marque a consulta Criar Pedidos 1994 e dê um clique no botão Estrutura, para abrí-la no modo estrutura.
     
    Dê um clique no botão executar consulta. Como já existe a tabela Valores de Frete, 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.


    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 dê um clique no menu Consulta e depois clique na opção 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 estrutura 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 consultas, executamos uma vez conforme a necessidade e saímos sem salvar, para que não haja o perigo de executarmos a consulta 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. 
     
    Exemplo 03: Crie uma consulta com os campos NúmeroDoPedido, NomeDaEmpresa e Frete, a qual filtre apenas os Pedidos para 1995. Transforme esta consulta em uma consulta de acréscimo, a qual adiciona os registros de 1995 aos registros já existentes de 1994 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 1994 e apenas alterar o critério para 1995. Vamos salvar a consulta com o nome de Criar Pedidos 1994.

  • Para isso, marque a consulta Criar Pedidos 1994 e dê um clique no botão Estrutura. Altere o critério na coluna Ano([DataDoPedido]) para 1995. Salve a consulta como Anexar Pedidos 1995. 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 1995, conforme indicado na figura abaixo:



  • Salvando a consulta com o nome Anexar Pedidos 1995.
     
  • Transforme esta consulta em uma consulta de Anexação. Para isso dê um clique no menu Consulta e um clique na opção Consulta acréscimo. O Microsoft Access abre uma janela perguntando a qual consulta você deseja anexar os registros com os pedidos de 1995. Escolha Valores de Frete, conforme indicado na figura abaixo:



  • Escolha o nome da Tabela onde serão anexados os registros de 1995. 
     
  • 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 1995 aos registros de 1994 já existentes na tabela Valores de Frete.

  • 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, conforme indicado na figura abaixo:



  • Associação entre os campos da Consulta e da Tabela.
     
  • 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 1995 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 abaixo os diversos tipos de consultas, indicados pelos diferentes ícones.
  • Nos veremos no ítem sobre macros, no curso de Access Avançado (entre março e junho de 2003) 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.

    Exemplo 04: Criar uma consulta que exclua todos os Pedidos cujo PaísDeDestino seja Dinamarca.
     
    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ção Consulta exclusão.

  • Na linha critério do campo PaísDeDestino, digite Dinamarca. É 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. O Microsoft Access informa quantos registros serão excluídos e pede confirmação.
    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 Dinamarca 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 neste tópico.
     
    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, 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.

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

    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