Criar e executar uma consulta eliminar

Criar e executar uma consulta eliminar

Quando pretende eliminar rapidamente muitos dados ou eliminar regularmente um conjunto de dados numa base de dados do ambiente de trabalho do Access, uma consulta de exclusão ou atualização pode ser útil porque as consultas tornam possível especificar critérios para encontrar e eliminar rapidamente os dados. A utilização de uma consulta também pode ser um timesaver porque pode reutilizar uma consulta guardada.

Nota: Antes de eliminar dados ou de executar uma consulta eliminar, certifique-se de que faz uma cópia de segurança da base de dados de ambiente de trabalho do Access.

Se quiser apagar apenas alguns registos, não precisa de uma consulta. Basta abrir a tabela na vista datasheet, selecionar os campos (colunas) ou registos (linhas) que pretende eliminar e, em seguida, premir DELETE.

Importante: As informações neste artigo destinam-se a ser utilizadas apenas com bases de dados de ambiente de trabalho. Não é possível utilizar perguntas de exclusão ou atualização em aplicações web do Access.

Neste artigo

Escolher um tipo de consulta

Pode utilizar uma consulta de atualização ou uma consulta de eliminação para eliminar dados da sua base de dados. Selecione uma consulta com base nos detalhes da tabela seguinte:

Tipo de consulta

Quando utilizá-lo

Resultados

Utilize uma consulta de eliminação

Para remover registos inteiros (linhas) de uma mesa ou de duas tabelas relacionadas simultaneamente.

Nota: Se os registos residirem no lado "um" de uma relação a muitas, poderá ter de alterar a relação antes de executar a consulta de eliminação. Consulte a secção de eliminação de dados de tabelas relacionadas.

Eliminar consultas remova todos os dados em cada campo, incluindo o valor chave que torna um recorde único

Utilize uma consulta de atualização

Para eliminar os valores individuais de campo de uma tabela.

Facilita a eliminação dos valores atualizando os valores existentes para um valor nulo (isto é, sem dados) ou uma corda de comprimento zero (um par de marcas duplas sem espaço entre eles).

Início da Página

Coisas a verificar antes de utilizar uma consulta para eliminar quaisquer dados

  • Certifique-se de que o ficheiro não é um ficheiro apenas de leitura:

    1. Clique com o botão direito Iniciar e clicar em Abrir o Windows Explorer.

    2. Clique com o botão direito no ficheiro de base de dados e clique em Propriedades.

    3. Veja se o atributo Read-only está selecionado.

  • Verifique se tem as permissões necessárias para eliminar registos da base de dados. Se não tiver a certeza, contacte o administrador do sistema ou o designer de bases de dados.

  • Certifique-se de que tem o conteúdo ativo na base de dados. Por predefinição, o Access bloqueia todas as consultas de ação (eliminar, atualizar e fazer perguntas de tabela) a menos que confie primeiro na base de dados. Para obter informações sobre a confiança numa base de dados, consulte a secção Stop Disabled Mode de bloquear uma consulta.

  • Peça a outros utilizadores da base de dados que fechem todas as tabelas, formulários, consultas e relatórios que utilizem os dados que pretende eliminar. Isto ajuda a evitar violações de bloqueio.

  • Antes de editar ou apagar registos, fazer uma cópia de segurança da base de dados é uma boa ideia para o caso de pretender reverter as suas alterações.

Sugestão: Se um grande número de utilizadores se ligar à base de dados, poderá ter de fechar a base de dados e reabri-la em modo Exclusivo.

Para abrir uma base de dados em modo exclusivo

  1. Clique no separador 'Ficheiro' > Abrir.

  2. Navegue e aponte para selecionar a base de dados, clique na seta ao lado do botão Abrir e, em seguida, clique em Open Exclusive.

    Abrir ficheiros no modo Exclusivo

Fazer o back-up da base de dados

  1. Clique no separador Ficheiro, aponte para Guardar Como.

  2. Clique em Guardar Base de Dados Como, clique em Back Up Database. O Access fecha o ficheiro original, cria uma cópia de segurança e reabre o ficheiro original.

  3. Clique em Guardar Como e especifique um nome e localização para a cópia de cópia de segurança e clique em Guardar.

Nota: Se estiver a utilizar uma base de dados apenas de leitura ou uma base de dados criada na versão anterior do Access, poderá receber uma mensagem de que não é possível criar uma versão de back-up da base de dados.

Para restaurar uma cópia de segurança, feche e mude o nome do ficheiro original, de modo a que a cópia de segurança possa utilizar o nome da versão original. Atribua o nome da versão original à cópia de segurança e abra esta no Access.

Usando uma consulta de eliminação

Para criar uma consulta de eliminação, clique no separador Criar, no grupo de consultas, clique em Design de Consulta. Clique duas vezes em cada tabela a partir da qual pretende apagar registos e, em seguida, clique em Fechar.

A tabela aparece como uma janela na parte superior da grelha de design de consulta. Da lista de campos, clique duas vezes no asterisco(*) para adicionar todos os campos da tabela à grelha de design.

Utilizando um critério específico numa consulta de eliminação

Importante: Utilize critérios para devolver apenas os registos que pretende eliminar. Caso contrário, a consulta de eliminação remove todos os registos da tabela.

Clique duas vezes no campo que pretende especificar como critérios de eliminação, insira um dos critérios na linha criterioso do designer de consultas e, em seguida, limpe a caixa de verificação Show para cada campo de critérios.

Um exemplo de quando poderá querer utilizar esta opção: Suponha que pretende remover todas as encomendas pendentes para um cliente. Para encontrar apenas esses registos, adicionaria os campos de ID e Data de Encomenda ao design de consultas e, em seguida, introduziria o número de identificação do cliente, e a data em que as encomendas desse cliente se tornaram inválidas.

  1. No separador Design, clique em Ver > Vista da Folha de Dados.

  2. Verifique se a consulta devolve os registos que pretende eliminar e, em seguida, prima CTRL+S para guardar a consulta.

  3. Para executar a consulta, clique duas vezes na consulta no Painel de Navegação.

Início da Página

Utilizar uma consulta atualização

Nota: Não é possível utilizar a opção de consulta de atualização numa aplicação web do Access.

Esta secção explica como utilizar uma consulta de atualização para eliminar campos individuais das tabelas. Lembre-se de que executar uma consulta de atualização para apagar dados alterará os valores existentes para NU OU uma corda de comprimento zero (um par de marcas duplas de aspas sem espaço no meio), dependendo dos critérios que especifica.

  1. Clique no separador Criar e no grupo consultas, clique em Design de Consulta.

  2. Selecione a tabela que tem os dados que pretende eliminar (se a tabela estiver relacionada, selecione a tabela no lado "um" da relação), clique em Adicionare, em seguida, clique em Fechar.

    A tabela aparece como uma janela na parte superior da grelha de design de consulta. A janela lista todos os campos na tabela selecionada.

  3. Clique duas vezes no asterisco(*) para adicionar todos os campos da tabela à grelha de design. A adição de todos os campos de tabela permite que a consulta de eliminação remova registos inteiros (linhas) da tabela.

    Opcionalmente, pode introduzir critérios para um ou mais campos na linha criterioso do designer e, em seguida, limpar a caixa de verificação Show para cada campo de critérios. Para obter mais informações sobre a utilização de critérios, consulte os critérios de amostra para a tabela de consultas selecionadas.

    Nota: Usa critérios para devolver apenas os registos que pretende alterar. Caso contrário, a consulta de atualização define para NU TODOS os registos em cada um dos campos da sua consulta.

  4. No separador Estrutura, no grupo Resultados, clique em Vista e, em seguida, clique em Vista Folha de Dados.

  5. Verifique se a consulta devolve os registos que pretende definir para NU OU uma corda de comprimento zero (um par de marcas de aspas duplas sem espaço entre eles("").

  6. Se necessário, repita os passos 3 a 5 e altere os campos ou critérios até que a consulta retorne apenas os dados que pretende apagar e, em seguida, prima CTRL+S para guardar a consulta.

  7. Para executar a consulta, clique duas vezes na consulta no Painel de Navegação.

Início da Página

Informações Adicionais

Eliminação de dados de tabelas relacionadas

Se pretender eliminar dados de várias tabelas relacionadas, tem de ativar as opções De Integridade Referencial e Registos Relacionados de Eliminação de Cascatas para cada relação. Isto permite que a sua consulta apague dados das tabelas dos lados "um" e "muitos" da relação. A preparação para a suprimição dos dados relacionados requer a verificação do seguinte:

  • Determinar quais os registos que residem no lado "um" da relação e que residem no lado "muitos".

  • Se precisar de apagar registos do lado "um" da relação e dos registos relacionados no lado "muitos", ativa um conjunto de regras chamado Integridade Referencial, e permite eliminações em cascata. Passos nesta secção explicam Integridade Referencial e como executar ambas as tarefas.

  • Se precisar de apagar registos apenas no lado "um" da relação, primeiro elimina essa relação e, em seguida, apaga os dados.

Se precisar de remover dados apenas no lado "muitos" da relação, pode criar e executar a sua consulta de eliminação sem ter de alterar a relação.

Para saber quais os registos que residem nos lados "um" e "muitos" de uma relação, no separador Ferramentas de Base de Dados, no grupo Relacionamentos, clique em Relacionamentos. O separador Relacionamentos exibe as tabelas na sua base de dados e as relações. Cada relação é retratada como uma linha que liga tabelas entre campos.

A seguinte figura mostra uma relação típica. A maioria, se não todas, das relações numa base de dados têm um lado "um" e um lado "muitos". O diagrama de relacionamento denota o lado "um" com o numeral(1) e o lado "muitos" com o símbolo infinito(∞).

Uma relação entre duas tabelas

Quando eliminas os registos do lado "um" da relação, também apagas todos os registos relacionados do lado "muitos" da relação. No entanto, quando elimina registos do lado "muitos" de uma relação, normalmente não apaga registos do lado "um".

Além disso, o Access aplica automaticamente um conjunto de regras chamadas integridade referencial. Estas regras garantem que as chaves estrangeiras numa base de dados contêm os valores corretos. Uma chave estrangeira é uma coluna cujos valores correspondem aos valores na coluna-chave primária de outra tabela.

Editar a relação

Siga estes passos apenas quando precisar de apagar dados sobre os lados "um" e "muitos" de uma relação.

  1. No separador Ferramentas da Base de Dados, no grupo Relações, clique em Relações.

  2. Clique com o botão direito na relação (a linha) que liga as tabelas envolvidas na operação de eliminação e, em seguida, clique em Editar Relação no menu de atalho.

  3. Na caixa de diálogo 'Relacionamentos de Edição', certifique-se de que a caixa de verificação "Integridade Referencial" é selecionada.

  4. Selecione a caixa de verificação Cascade Delete Related Records.

    Nota: Até que você desative novamente esta propriedade, apagar um registo no lado "um" da relação irá apagar todos os registos relacionados no lado "muitos" da relação.

  5. Clique EM OK,feche o painel relationships e, em seguida, vá para o próximo conjunto de passos.

Eliminar uma relação

  1. Se ainda não o fizeste, abre o painel de relacionamentos.

  2. No separador Ferramentas da Base de Dados, no grupo Relações, clique em Relações.

    Tome nota dos campos envolvidos na relação para que possa restaurar a relação depois de apagar os seus dados.

  3. Clique com o botão direito na relação (a linha) que liga as tabelas envolvidas na operação de eliminação e, em seguida, clique em Eliminar no menu de atalho.

Nota: Para restaurar a relação, siga os passos anteriores para abrir o painel de relacionamentos, e depois arraste o campo de chaves primária da mesa "um" e deixe-o cair no campo chave estrangeiro da mesa "muitos". Aparece a caixa de diálogo Editar Relationship. Se a relação antiga impôs integridade referencial, selecione Enforce Referential Integritye, em seguida, clique em Criar. Caso contrário, basta clicar em Criar.

Início da Página

Critérios de amostra para consultas selecionadas

A tabela que se segue lista alguns critérios de amostra que pode utilizar em consultas selecionadas quando pretender eliminar apenas os dados que pretende serem eliminados. Alguns destes exemplos usam caracteres wildcard.

Critérios

Efeito

> 234

Devolve todos os números maiores que 234. Para localizar todos os números inferiores a 234, utilize < 234.

>= "Cajhen"

Devolve todos os registos desde Cardoso até ao final do alfabeto.

Entre #2/2/2010 e #12/1/2010 #

As devoluções datam de 2-Fev-2010 até 1-Dez-2010 (ANSI-89). Se a base de dados utilizar os carateres universais ANSI-92, utilize plicas (') em vez de sinais de cardinal (#). Exemplo: entre '2/2/2010' e '12/1/2010'.

Negado "Alemanha"

Localiza todos os registos nos quais o conteúdo exato do campo não seja exatamente igual a "Alemanha". O critério irá devolver registos que contenham carateres para além de "Alemanha", por exemplo "Alemanha (Euro)" ou "Europa (Alemanha)".

Negado "T*"

Localiza todos os registos exceto aqueles que começam com a letra T. Se a base de dados utilizar o conjunto de carateres universais ANSI-92, utilize o sinal de percentagem (%) em vez do asterisco (*).

Negado "*t"

Encontra todos os registos que não terminam com t. Se a base de dados utilizar o conjunto de carateres universais ANSI-92, utilize o sinal de percentagem (%) em vez do asterisco (*).

Em(Canadá,Reino Unido)

Numa lista, localiza todos os registos que contêm Canadá ou Reino Unido.

Como "[A-D]*"

Num campo de Texto, encontra todos os registos que começam com as letras A a D. Se a sua base de dados utilizar o conjunto de caracteres ANSI-92 wildcard, utilize o sinal por cento (%) em vez do asterisco (*).

Como "*ar*"

Localiza todos os registos que incluem a sequência de letras "ar". Se a base de dados utilizar o conjunto de carateres universais ANSI-92, utilize o sinal de percentagem (%) em vez do asterisco (*).

Como "Solar Celt?"

Localiza todos os registos que começam com "Solar" e que contêm uma segunda cadeia com 5 letras sendo as 4 primeiras "Celt" e a última é desconhecida. Se a base de dados utilizar o conjunto de carateres universais ANSI-92, utilize o caráter de sublinhado (_) em vez do ponto de interrogação (?).

#2/2/2010 #

Encontra todos os registos de 2 de fevereiro de 2010. Se a sua base de dados utilizar o conjunto de caracteres ANSI-92 wildcard, rode a data com aspas únicas em vez de sinais de libra ('2/2/2010').

< Data() - 30

Utiliza a função Data para devolver todas as datas com mais de 30 dias.

Data()

Utiliza a função Data para devolver todos os registos com a data atual.

Entre Data() E SomData("M"; 3; Data())

Utiliza as funções Date e DataAdd para devolver todos os registos entre a data de hoje e três meses a partir da data de hoje.

É Nulo

Devolve todos os registos que contêm um valor nulo (em branco ou indefinido).

Não É Nulo

Devolve todos os registos que contenham qualquer valor (que não são nulos).

""

Devolve todos os registos que contêm uma cadeia de comprimento zero. Usa-se cordas de comprimento zero quando precisa de adicionar um valor a um campo necessário, mas ainda não sabe qual é o valor real. Por exemplo, um campo poderá necessitar de um número de fax, mas alguns dos clientes poderão não ter aparelhos de fax. Nesse caso, em vez de introduzir um número, introduz-se um par de marcas duplas sem espaço entreelas ("").

Início da Página

Sugestões de resolução de problemas

Por que razão me foi apresentada esta mensagem de erro e como posso corrigir o erro?

Se construir uma consulta de eliminação utilizando várias tabelas e a propriedade Unique Records da consulta estiver definida como Nº,o Access exibe a mensagem de erro; Não foi possível eliminar das tabelas especificadas quando executar a consulta.

Para resolver este problema, defina a propriedade Registos Exclusivos como Sim.

  1. Abra a consulta eliminar na vista de Estrutura.

  2. Se a folha de propriedades da consulta não estiver aberta, prima a tecla F4 para abri-la.

  3. Clique no estruturador de consultas para apresentar as propriedades da consulta (em vez das propriedades do campo).

  4. Localize a propriedade Registos Exclusivos na folha de propriedades da consulta e defina-a como Sim.

Impedir que o Modo Desativado bloqueie uma consulta

Por predefinição, se abrir uma base de dados de ambiente de trabalho em que não escolheu confiar ou que não reside num local de confiança, o Access bloqueia todas as consultas de ação de funcionamento.

Se tentar executar uma consulta de ação e parecer que nada acontece, verifique se a barra de estado do Access apresenta a seguinte mensagem:

Esta ação ou evento foi bloqueado pelo Modo Desativado.

Quando vir essa mensagem, dê o seguinte passo para ativar o conteúdo bloqueado:

  • Na Barra de Aviso de Segurança, clique em Ativar o Conteúdoe volte a executar a sua consulta.

Início da Página

Precisa de mais ajuda?

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×