Quando quer eliminar rapidamente muitos dados ou eliminar regularmente um conjunto de dados numa base de dados de ambiente de trabalho do Access, uma consulta de eliminação ou atualização pode ser útil porque as consultas permitem especificar critérios para localizar 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 eliminar apenas alguns registos, não precisa de uma consulta. Basta abrir a tabela na vista Folha de Dados, 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 pode utilizar consultas de eliminação ou atualização nas aplicações Web do Access.
Neste artigo
Escolher um tipo de consulta
Pode utilizar uma consulta de atualização ou uma consulta eliminar para eliminar dados da sua base de dados. Selecione uma consulta com base nos detalhes na tabela seguinte:
Tipo de consulta |
Quando utilizá-lo |
Resultados |
---|---|---|
Utilizar uma consulta eliminar |
Para remover registos inteiros (linhas) de uma tabela ou de duas tabelas relacionadas em simultâneo. Nota: Se os registos residirem no lado "um" de uma relação um-para-muitos, poderá ter de alterar a relação antes de executar a consulta eliminar. Veja a secção sobre como eliminar dados de tabelas relacionadas. |
As consultas de eliminação removem todos os dados em cada campo, incluindo o valor da chave que torna um registo exclusivo |
Utilizar uma consulta de atualização |
Para eliminar valores de campo individuais de uma tabela. |
Facilita a eliminação de valores ao atualizar os valores existentes para um valor nulo (ou seja, sem dados) ou para uma cadeia de comprimento zero (um par de aspas duplas sem espaço entre os mesmos). |
Aspetos a verificar antes de utilizar uma consulta para eliminar quaisquer dados
-
Certifique-se de que o ficheiro não é um ficheiro só de leitura:
-
Clique com o botão direito do rato em Iniciar e clique em Abrir o Explorador do Windows.
-
Clique com o botão direito do rato no ficheiro da base de dados e clique em Propriedades.
-
Veja se o atributo Só de leitura 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 de sistema ou o estruturador da base de dados.
-
Certifique-se de que ativou o conteúdo na base de dados. Por predefinição, o Access bloqueia todas as consultas de ação (consultas eliminar, atualizar e criar tabela), a menos que confie primeiro na base de dados. Para obter informações sobre como confiar numa base de dados, consulte a secção Parar o Modo Desativado de bloquear uma consulta.
-
Peça a outros utilizadores da base de dados para fecharem todas as tabelas, formulários, consultas e relatórios que utilizam os dados que pretende eliminar. Isto ajuda a evitar violações de bloqueio.
-
Antes de editar ou eliminar registos, fazer uma cópia de segurança da base de dados é uma boa ideia caso pretenda reverter as 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, em seguida, reabri-la no modo Exclusivo .
Para abrir uma base de dados no modo Exclusivo
-
Clique no separador Ficheiro > Abrir.
-
Navegue para e aponte para selecionar a base de dados, clique na seta junto ao botão Abrir e, em seguida, clique em Abrir Exclusivo.
Fazer uma cópia de segurança da base de dados
-
Clique no separador Ficheiro e aponte para Guardar Como.
-
Clique em Guardar Base de Dados Como e clique em Fazer Cópia de Segurança da Base de Dados. O Access fecha o ficheiro original, cria uma cópia de segurança e reabre o ficheiro original.
-
Clique em Guardar Como , especifique um nome e localização para a cópia de segurança e clique em Guardar.
Nota: Se estiver a utilizar uma base de dados só de leitura ou criada na versão anterior do Access, poderá receber uma mensagem a indicar que não é possível criar uma cópia de segurança 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.
Utilizar uma consulta eliminar
Para criar uma consulta eliminar, clique no separador Criar , no grupo Consultas , clique em Estrutura da Consulta. Faça duplo clique em cada tabela a partir da qual pretende eliminar registos e, em seguida, clique em Fechar.
A tabela é apresentada como uma janela na secção superior da grelha de estrutura da consulta. Na lista de campos, faça duplo clique no asterisco (*) para adicionar todos os campos na tabela à grelha de estrutura.
Utilizar critérios específicos numa consulta eliminar
Importante: Utilize critérios para devolver apenas os registos que pretende eliminar. Caso contrário, a consulta eliminar remove todos os registos na tabela.
Faça duplo clique no campo que pretende especificar como critérios de eliminação, introduza um critério na linha Critérios do estruturador de consulta e, em seguida, desmarque a caixa de verificação Mostrar para cada campo de critérios.
Um exemplo de quando poderá querer utilizar esta opção: suponha que pretende remover todas as encomendas pendentes de um cliente. Para localizar apenas esses registos, adicionaria os campos ID do Cliente e Data da Encomenda à grelha de estrutura da consulta e, em seguida, introduza o número de ID do cliente e a data em que as encomendas desse cliente se tornaram inválidas.
-
No separador Estrutura , clique em Ver > Vista de Folha de Dados.
-
Verifique se a consulta devolve os registos que pretende eliminar e, em seguida, prima CTRL+S para guardar a consulta.
-
Para executar a consulta, faça duplo clique na consulta no Painel de Navegação.
Utilizar uma consulta atualização
Nota: Não pode utilizar a opção atualizar consulta numa aplicação Web do Access.
Esta secção explica como utilizar uma consulta de atualização para eliminar campos individuais de tabelas. Lembre-se de que a execução de uma consulta de atualização para eliminar dados irá alterar os valores existentes para NULL ou para uma cadeia de comprimento zero (um par de aspas duplas sem espaço no meio), consoante os critérios que especificar.
-
Clique no separador Criar e, no grupo Consultas , clique em Estrutura da Consulta.
-
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 Adicionar e, em seguida, clique em Fechar.
A tabela é apresentada como uma janela na secção superior da grelha de estrutura da consulta. A janela lista todos os campos na tabela selecionada.
-
Faça duplo clique no asterisco (*) para adicionar todos os campos na tabela à grelha de estrutura. Adicionar todos os campos de tabela permite que a consulta eliminar remova registos inteiros (linhas) da tabela.
Opcionalmente, pode introduzir critérios para um ou mais campos na linha Critérios do estruturador e, em seguida, desmarcar a caixa de verificação Mostrar para cada campo de critérios. Para obter mais informações sobre como utilizar critérios, veja a tabela Critérios de exemplo para selecionar consultas .
Nota: Utilize critérios para devolver apenas os registos que pretende alterar. Caso contrário, a consulta de atualização define como NULL todos os registos em cada um dos campos na consulta.
-
No separador Estrutura, no grupo Resultados, clique em Vista e, em seguida, clique em Vista Folha de Dados.
-
Verifique se a consulta devolve os registos que pretende definir como NULL ou uma cadeia de comprimento zero (um par de aspas duplas sem espaço entre os mesmos ("").
-
Conforme necessário, repita os passos 3 a 5 e altere os campos ou critérios até que a consulta devolva apenas os dados que pretende eliminar e, em seguida, prima CTRL+S para guardar a consulta.
-
Para executar a consulta, faça duplo clique na consulta no Painel de Navegação.
Informações Adicionais
Editar a relação
Siga estes passos apenas quando precisar de eliminar dados nos lados "um" e "muitos" de uma relação.
-
No separador Ferramentas da Base de Dados, no grupo Relações, clique em Relações.
-
Clique com o botão direito do rato 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.
-
Na caixa de diálogo Editar Relações , certifique-se de que a caixa de verificação Impor Integridade Referencial está selecionada.
-
Selecione a caixa de verificação Propagar Eliminação de Registos Relacionados .
Nota: Até desativar novamente esta propriedade, eliminar um registo no lado "um" da relação eliminará todos os registos relacionados no lado "muitos" da relação.
-
Clique em OK, feche o painel Relações e, em seguida, avance para o próximo conjunto de passos.
Eliminar uma relação
-
Se ainda não o fez, abra o painel Relações .
-
No separador Ferramentas da Base de Dados, no grupo Relações, clique em Relações.
Anote os campos envolvidos na relação para que possa restaurar a relação depois de eliminar os seus dados.
-
Clique com o botão direito do rato 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 Relações e, em seguida, arraste o campo de chave primária da tabela "um" e largue-o no campo de chave externa da tabela "muitos". É apresentada a caixa de diálogo Editar Relação . Se a relação antiga impôs integridade referencial, selecione Impor Integridade Referencial e, em seguida, clique em Criar. Caso contrário, basta clicar em Criar.
Critérios de exemplo para selecionar consultas
A tabela seguinte lista alguns critérios de exemplo que pode utilizar em consultas selecionadas quando pretender certificar-se de que elimina apenas os dados que pretende eliminar. Alguns destes exemplos utilizam carateres universais.
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# |
Devolve datas de 2-fev-2010 a 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 "1/12/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" |
Localiza 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 Texto, encontra todos os registos que começam com as letras A a D. Se a base de dados utilizar o conjunto de carateres universais ANSI-92, utilize o sinal de percentagem (%) 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# |
Localiza todos os registos de 2 de fevereiro de 2010. Se a base de dados utilizar o conjunto de carateres universais ANSI-92, coloque aspas simples na data em vez de sinais de cardinal ("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 Data e DataAdicionar para devolver todos os registos entre a data atual e três meses a partir da data atual. |
É Nulo |
Devolve todos os registos que contêm um valor nulo (em branco ou indefinido). |
Não É Nulo |
Devolve todos os registos que contêm qualquer valor (que não são nulos). |
"" |
Devolve todos os registos que contêm uma cadeia de comprimento zero. Utilize cadeias de comprimento zero quando precisar de adicionar um valor a um campo obrigató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, introduza um par de aspas duplas sem espaço entre as mesmas (""). |
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 criar uma consulta eliminar com múltiplas tabelas e a propriedade Registos Exclusivos da consulta estiver definida como Não, o Access apresenta a mensagem de erro; Não foi possível eliminar das tabelas especificadas ao executar a consulta.
Para resolver este problema, defina a propriedade Registos Exclusivos como Sim.
-
Abra a consulta eliminar na vista de Estrutura.
-
Se a folha de propriedades da consulta não estiver aberta, prima a tecla F4 para abri-la.
-
Clique no estruturador de consultas para apresentar as propriedades da consulta (em vez das propriedades do campo).
-
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 na qual não tenha optado por confiar ou que não resida numa localização fidedigna, o Access bloqueia a execução de todas as consultas de ação.
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, siga o passo seguinte para ativar o conteúdo bloqueado:
-
Na Barra de Mensagens de Aviso de Segurança , clique em Ativar Conteúdo e execute novamente a consulta.