Você pode evitar valores duplicados em um campo em uma tabela do Access criando um índice exclusivo. Um índice exclusivo é um índice que exige que cada valor do campo indexado seja exclusivo.
Há duas maneiras básicas de criar um índice exclusivo:
- Defina a propriedade Indexed do campo como Sim (duplicação não autorizada) Você pode fazer isso abrindo a tabela no modo Design. Esse método é fácil e uma boa opção se você deseja alterar apenas um campo de cada vez.
- Criar uma consulta de definição de dados que cria o índice exclusivo Você pode fazer isso usando o modo SQL. Esse método não é tão fácil quanto usar o modo Design, mas tem uma vantagem: você pode salvar a consulta de definição de dados e usá-la novamente mais tarde. Isso é útil se você exclui e recria tabelas periodicamente e deseja usar índices exclusivos em alguns dos campos.
O que você deseja fazer?
- Defina a propriedade Indexado de um campo como Sim (duplicação não autorizada)
- Criar um índice exclusivo para um campo usando uma consulta de definição de dados
Defina a propriedade Indexado de um campo como Sim (duplicação não autorizada)
No Painel de Navegação, clique com o botão direito do mouse na tabela que contém o campo e clique em Modo Design.
Selecione o campo que você deseja ter certeza de que possui valores exclusivos.
No painel Propriedades do Campo, na parte inferior do modo de exibição de design da tabela, na guia Geral, defina a propriedade Indexado como Sim (duplicação não autorizada).
Salve as alterações na tabela.
Observação
Se já existirem duplicatas no campo para seus registros de tabela, o Access exibirá uma mensagem de erro (Erro 3022) quando você tentar salvar as alterações de tabela com o novo índice. Você precisará remover esses valores de campo duplicados dos registros da tabela antes de definir e salvar o novo índice exclusivo.
Criar um índice exclusivo para um campo usando uma consulta de definição de dados
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
Na guia Design de consultas, no grupo Resultados , clique na seta em Modo de exibição e clique em Modo SQL.
Exclua todo o SQL existente da consulta. (O Access provavelmente apenas exibe SELECT; antes de você excluir o texto existente.)
Digite ou cole o seguinte SQL na consulta:
CREATE UNIQUE INDEX index_name ON table (field);No SQL, substitua as variáveis da seguinte maneira:
- Substitua index_name por um nome para o índice. É uma boa ideia usar um nome que ajude a determinar para que serve o índice. Por exemplo, se o índice for para garantir que os números de telefone sejam exclusivos, você poderá nomeá-lo como unique_phone.
- Substitua table pelo nome da tabela que contém o campo a ser indexado. Se o nome da tabela tiver espaços ou caracteres especiais, você deverá colocá-lo entre colchetes.
- Substitua o campo pelo nome do campo a ser indexado. Se o nome do campo tiver espaços ou caracteres especiais, você deverá colocá-lo entre colchetes.
Salve e feche a consulta.
Execute a consulta para criar o índice. Observe que você pode executar a consulta de uma macro usando a ação de macro RunSQL.