Pode impedir valores duplicados num campo numa tabela do Access ao criar um índice exclusivo. Um índice exclusivo é um índice que requer que cada valor do campo indexado seja exclusivo.
Existem duas formas básicas de criar um índice exclusivo:
-
Defina a propriedade Indexado do campo como Sim (Não existem duplicados) Pode fazê-lo ao abrir a tabela no vista de Estrutura. Este método é fácil e uma boa opção se apenas quiser alterar um campo de cada vez.
-
Criar um consulta de definição de dados que cria o índice exclusivo Pode fazê-lo com vista SQL. Este método não é tão fácil como utilizar a vista Estrutura, mas tem uma vantagem: pode guardar a consulta de definição de dados e utilizá-la novamente mais tarde. Isto é útil se eliminar e recriar tabelas periodicamente e quiser utilizar índices exclusivos em alguns dos campos.
O que pretende fazer?
Defina a propriedade Indexado de um campo como Sim (Não existem duplicados)
-
No Painel de Navegação, clique com o botão direito do rato na tabela que contém o campo e, em seguida, clique em Vista Estrutura.
-
Selecione o campo que pretende certificar-se de que tem valores exclusivos.
-
No painel Propriedades do Campo, na parte inferior da vista de estrutura da tabela, no separador Geral , defina a propriedade Indexado como Sim (Não duplicados).
-
Guarde as alterações à tabela.
Nota: Se já existirem duplicados no campo para os registos da tabela, o Access apresenta uma mensagem de erro (Erro 3022) quando tenta guardar as alterações da tabela com o novo índice. Terá de remover esses valores de campo duplicados dos registos da tabela antes de poder definir e guardar o novo índice exclusivo.
Criar um índice exclusivo para um campo com uma consulta de definição de dados
-
No separador Criar, no grupo Consultas, clique em Estrutura da Consulta.
-
No separador Estrutura das consultas, no grupo Resultados , clique na seta em Ver e, em seguida, clique em Vista SQL.
-
Elimine todo o SQL existente da consulta. (Provavelmente, o Access apenas apresenta SELECT; antes de eliminar o texto existente.)
-
Escreva ou cole o seguinte SQL na consulta:
CREATE UNIQUE INDEX index_name
ON table (field); -
No SQL, substitua as variáveis da seguinte forma:
-
Substitua index_name por um nome para o índice. Recomendamos que utilize um nome que o ajude a determinar para que serve o índice. Por exemplo, se o índice for para se certificar de que os números de telefone são exclusivos, poderá dar-lhe o nome unique_phone.
-
Substitua a tabela pelo nome da tabela que contém o campo a indexar. Se o nome da tabela tiver espaços ou carateres especiais, tem de colocar o nome entre parênteses retos.
-
Substitua o campo pelo nome do campo a indexar. Se o nome do campo tiver espaços ou carateres especiais, tem de colocar o nome entre parênteses retos.
-
-
Guarde e feche a consulta.
-
Execute a consulta para criar o índice. Tenha em atenção que pode executar a consulta a partir de uma macro com a ação de macro ExecutarSQL.