Quando quiser eliminar rapidamente muitos dados ou eliminar um conjunto de dados regularmente numa base de dados de ambiente de trabalho do Access, uma consulta eliminar ou atualizar pode ser útil porque as consultas permitem especificar critérios para localizar e eliminar os dados rapidamente. A utilização de uma consulta também pode poupar tempo 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 pretende eliminar apenas alguns registos, não precisa de uma consulta. Abra a tabela na vista Folha de Dados, selecione os campos (colunas) ou registos (linhas) que pretende eliminar e, em seguida, prima Delete.
Importante
As informações incluídas neste artigo destinam-se a utilização apenas em bases de dados de ambiente de trabalho. Não pode utilizar as consultas de eliminação ou atualização em aplicações Web do Access.
Neste artigo
- Escolher um tipo de consulta
- Utilizar uma consulta eliminar
- Utilizar uma consulta atualização
- Informação Adicional
- Sugestões de resolução de problemas
Escolher um tipo de consulta
Pode utilizar uma consulta atualização ou uma consulta eliminar para eliminar dados da sua base de dados. Selecione uma consulta com base nos detalhes da seguinte tabela:
| Tipo de consulta | Quando utilizá-lo | Resultados |
|---|---|---|
| Utilizar uma consulta eliminar | Para remover registos (linhas) inteiros de uma tabela ou de duas tabelas relacionadas em simultâneo. Observação: 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. Consulte a secção sobre eliminar dados de tabelas relacionadas. |
As consultas de eliminação removem todos os dados em cada campo, incluindo o valor chave que torna um registo exclusivo |
| Utilizar uma consulta atualização | Para eliminar valores de campos individuais de uma tabela. | Facilita a eliminação de valores ao atualizar os valores existentes para um valor nulo (ou seja, sem dados) ou uma cadeia de comprimento zero (um par de aspas duplas sem espaço entre elas). |
Aspetos a verificar antes de utilizar uma consulta para eliminar quaisquer dados
Certifique-se de que o ficheiro não é só de leitura:
- Clique com o botão direito do rato em Iniciar e clique em Abrir Explorador do Windows.
- Clique com o botão direito do rato no ficheiro da base de dados e clique em Propriedades.
- Verifique se o atributo Somente leitura está selecionado.
Verifique se tem as permissões necessárias para eliminar registos da base de dados. Se tiver dúvidas, 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 em um banco de dados, consulte a seção Impedir que o Modo Desabilitado bloqueie uma consulta.
Peça aos outros utilizadores da base de dados para fecharem 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 eliminar registos, é boa ideia fazer uma cópia de segurança da base de dados, 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 em Abrir , separador >Ficheiro.
- Procure e aponte para selecionar o banco de dados, clique na seta ao lado do botão Abrir e clique em Abrir Exclusivo.
Criar uma cópia de segurança da base de dados
- Clique no separador Ficheiro , aponte para Guardar Como.
- Clique em Salvar banco de dados como, clique em Fazer backup do banco de dados. O Access fecha o ficheiro original, cria uma cópia de segurança e reabre o ficheiro original.
- Clique em Salvar como , especifique um nome e um local para a cópia de backup e clique em Salvar.
Nota
Se estiver a utilizar um só de leitura ou uma base de dados criada na versão anterior do Access, poderá aparecer uma mensagem a indicar que não é possível criar uma cópia de segurança da mesma.
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 cujas tabelas pretende eliminar registos e, em seguida, clique em Fechar.
A tabela aparece como 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 removerá todos os registos da tabela.
Faça duplo clique no campo que pretende especificar como critério para eliminação, introduza um dos critérios na linha Critérios do estruturador de consultas 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 encontrar apenas esses registos, adicione 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 nela no Painel de Navegação.
Utilizar uma consulta atualização
Nota
Não pode utilizar a opção de consulta atualização numa aplicação Web do Access.
Esta secção explica como utilizar uma consulta atualização para eliminar campos individuais de tabelas. Lembre-se de que a execução de uma consulta atualização para eliminar dados irá alterar os valores existentes para NULL ou uma cadeia de comprimento zero (um par de aspas duplas sem espaço entre os dois), dependendo dos 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 aparece como 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 da tabela permite à consulta eliminar remover registos (linhas) inteiros 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 usar critérios, consulte a tabela Sample criteria for select queries .Nota
Utilize critérios para devolver apenas os registos que pretende alterar. Caso contrário, a consulta atualização irá definir como NULL todos os registos em cada um dos campos na sua 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 NULO ou uma cadeia de comprimento zero (um par de aspas duplas sem espaço entre elas ("").
Conforme necessário, repita os passos 3 a 5 e altere os campos ou critérios até a consulta devolver apenas os dados que pretende eliminar e, em seguida, prima CTRL+S para guardar a consulta.
Para executar a consulta, faça duplo clique nela no Painel de Navegação.
Informações Adicionais
Eliminar dados de tabelas relacionadas
Se pretender eliminar dados de várias tabelas relacionadas, tem de ativar as opções Integridade Referencial e Propagar Eliminação dos Registos Relacionados para cada relação. Isto permite que a consulta elimine dados das tabelas nos lados "um" e "muitos" da relação. A preparação para a eliminação de dados relacionados requer a verificação do seguinte:
- Determine que registos residem no lado "um" da relação e quais residem no lado "muitos".
- Se precisar de eliminar registos no lado "um" da relação e os registos relacionados no lado "muitos", ativa um conjunto de regras com o nome Integridade Referencial e ativa as eliminações em cascata. Os passos nesta secção explicam a Integridade Referencial e como efetuar ambas as tarefas.
- Se precisar de eliminar registos apenas no lado "um" da relação, primeiro eliminará essa relação e, em seguida, eliminará os dados.
Se precisar de remover dados apenas no lado "muitos" da relação, pode criar e executar a sua consulta eliminar sem ter de alterar a relação.
Para saber que registos residem nos lados "um" e "muitos" de uma relação, no separador Ferramentas da Base de Dados , no grupo Relações , clique em Relações. O separador Relações apresenta as tabelas da sua base de dados e as relações. Cada relação é representada como uma linha que liga tabelas entre campos.
A seguinte figura mostra uma relação típica. A maioria, se não todas, as relações numa base de dados têm um lado "um" e um lado "muitos". O diagrama de relações indica o lado "um" com o algarismo um (1) e o lado "muitos" com o símbolo do infinito (∞).
Quando elimina registos no lado "um" da relação, também elimina todos os registos relacionados no lado "muitos" da relação. No entanto, quando elimina registos no lado "muitos" de uma relação, normalmente não elimina registos no lado "um".
Além disso, o Access impõe automaticamente um conjunto de regras denominado integridade referencial. Estas regras asseguram que as chaves externas numa base de dados contêm os valores corretos. Uma chave externa é uma coluna cujos valores correspondem aos valores na coluna de chave primária de outra tabela.
Editar a relação
Siga estes passos apenas quando precisar de eliminar dados dos 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 dos Registos Relacionados .
Nota
Até desativar esta propriedade novamente, a eliminação de um registo no lado "um" da relação irá eliminar todos os registos relacionados no lado "muitos" da relação.
Clique em OK, feche o painel Relações e avance para o próximo conjunto de passos.
Eliminar uma relação
- Caso ainda não o tenha feito, 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 restaurá-la depois de eliminar os 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 impunha integridade referencial, selecione Impor Integridade Referencial e clique em Criar. Caso contrário, basta clicar em Criar.
Exemplo de critérios para consultas de seleção
A tabela seguinte lista alguns critérios de exemplo que pode utilizar em consultas selecionar quando pretende 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 #1/12/2010# | Devolve datas entre 2-fev-2010 e 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 (*). |
| Não "*t" | Localiza todos os registos que não terminam 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 (*). |
| Em(Canadá,Reino Unido) | Numa lista, localiza todos os registos que contêm Canadá ou Reino Unido. |
| Como "[A-D]*" | Num campo Texto, localiza 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 02 de fevereiro de 2010. Se a base de dados utilizar o conjunto de carateres universais ANSI-92, coloque plicas iniciais e finais 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 Date e DateAdd para devolver todos os registos entre a data atual 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 contêm valores (que não são nulos). |
| "" | Devolve todos os registos que contêm uma cadeia de comprimento zero. Utilize cadeias de comprimento zero quando necessitar de adicionar um valor a um campo obrigatório, mas ainda não souber 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 nenhum espaço entre elas ("""). |
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 utilizando 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 a partir 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 escolheu não confiar ou que reside não 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 essa mensagem aparecer, faça o seguinte passo para ativar o conteúdo bloqueado:
- Na Barra de Mensagens de Aviso , clique em Ativar Conteúdo e execute a consulta novamente.