Criar uma regra de validação para validar dados em um campo
Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Você pode examinar ou validar os dados nos bancos de dados da área de trabalho do Access ao inseri-los usando as regras de validação. Você pode usar o construtor de expressões para ajudá-lo a formatar a regra corretamente. As regras de validação podem ser definidas no modo folha de dados de tabela ou design da tabela. Há três tipos de regras de validação no Access:

1. Regra de validação   de campo Você pode usar uma regra de validação de campo para especificar um critério que todos os valores de campo válidos devem atender. Você não precisa especificar o campo atual como parte da regra, a menos que esteja usando o campo em uma função.  As restrições nos tipos de caracteres a serem inseridos em um campo podem ser feitas de modo mais fácil com uma Máscara de Entrada. Por exemplo, um campo de data pode ter uma regra de validação que proíbe valores no passado.

Exemplos rápidos:

Não permitir valores de data no passado: >=Date()

Formato de email geralmente aceito: É NULL OR ((Como "*?@?*.? *") E (não como "*[ ,;] *"))

Número menor ou qual para cinco: <=5

Conversor de Moedas campo não pode ser negativo: >=0

Restringir o comprimento do caractere na cadeia de caracteres: Len([StringFieldName])<100

Regra de validação de campo exibida no designer de tabela do Access

2. Regra de validação de registro   Você pode usar uma regra de validação de registro para especificar uma condição que todos os registros válidos devem atender. Você pode comparar valores em diferentes campos usando uma regra de validação de registro. Por exemplo, um registro com dois campos de data pode exigir que os valores de um campo sempre precedam os valores do outro campo (por exemplo, StartDate anterior a EndDate).

Exemplos rápidos:

Verifique se a data de término não vem antes da data de início: [Data de Término]>=[Data de Início]

Insira uma data necessária que ocorra no máximo 30 dias após a data do pedido: [RequiredDate]<=[OrderDate]+30

Uma regra de validação da tabela no designer de tabela do Access.

3. Validação em um formulário   Você pode usar a propriedade Regra de Validação de um controle em um formulário para especificar um critério que todos os valores de entrada nesse controle devem atender. As propriedades de controle da Regra de Validação funcionam como uma regra de validação de campo. Normalmente você usa uma regra de validação de formulário em vez de uma regra de validação do campo se a regra for específica apenas para esse formulário e não para a tabela, independentemente de onde for usada.

Neste artigo

Visão geral

Este artigo explica como usar regras de validação e texto de validação em campos de tabela e controles de formulário. Uma regra de validação é uma maneira de restringir a entrada de dados em um campo de tabela ou um controle (como uma caixa de texto) em um formulário. O texto de validação permite que você forneça uma mensagem para ajudar os usuários que inserem dados que não são válidos.

Quando os dados são inseridos, o Access verifica se a entrada quebra uma regra de validação. Em caso afirmativo, a entrada não é aceita e o Access exibe uma mensagem.

O Access fornece diversas maneiras de restringir a entrada de dados:

  • Tipos de dados   Todo campo de tabela tem um tipo de dados que restringe o que os usuários podem inserir. Por exemplo, um campo Data/Hora aceita apenas datas e horários, um campo Moeda aceita apenas dados monetários e assim por diante.

  • Propriedades do campo   Algumas propriedades do campo restringem a entrada de dados. Por exemplo, a propriedade Tamanho do Campo de um campo restringe a entrada limitando a quantidade de dados.

    Você também pode usar a propriedade Regra de Validação para exigir valores específicos, e a propriedade Texto de Validação para alertar os usuários sobre qualquer erro. Por exemplo, inserir uma regra como >100 And <1000 na propriedadeRegra de Validação força os usuários a inserir valores entre 100 e 1.000. Uma regra como [DataTérmino]>=[DataInício] força os usuários a inserir uma data de término que seja igual ou posterior à data de início. A inserção de texto como "Insira valores entre 100 e 1.000" ou "Insira uma data de término igual ou posterior à data de início" na propriedade Texto de Validação informa aos usuários quando eles cometeram um erro e como corrigi-lo.

  • Máscaras de entrada   Você pode usar uma máscara de entrada para validar dados forçando os usuários a inserir valores de uma maneira específica. Por exemplo, uma máscara de entrada pode forçar os usuários a inserir datas em formato europeu, como 2007.04.14.

Esses métodos de validação de dados podem ser usados sozinhos ou em combinação. Os tipos de dados não são opcionais e fornecem o tipo mais básico de validação de dados.

Para saber mais sobre tipos de dados, tamanhos de campo e máscaras de entrada, consulte o artigo Introdução a tipos de dados e propriedades de campo.

Tipos de regras de validação

Você pode criar dois tipos básicos de regras de validação:

  • Regras de validação de campo   Use uma regra de validação de campo para verificar o valor que você insere em um campo quando sai dele. Por exemplo, suponha que você tenha um campo Data e insira >=#01/01/2010# na propriedade Regra de Validação desse campo. Sua regra agora exige que os usuários insiram datas iguais ou posteriores a 1º de janeiro de 2010. Se você inserir uma data anterior a 2010 e tentar colocar o foco em outro campo, o Access o impedirá de sair do campo atual até que você corrija o problema.

  • Regras de validação de registro   Use uma regra de validação de registro para controlar quando você pode salvar um registro (uma linha em uma tabela). Diferentemente da regra de validação de campo, a regra de validação de registro refere-se a outros campos na mesma tabela. Você cria regras de validação de registro quando precisa verificar os valores de um campo em relação aos valores de outro campo. Por exemplo, suponha que sua empresa exija que você despache produtos dentro de 30 dias e, se não o fizer, deverá reembolsar parte do preço de compra ao cliente. Você pode definir uma regra de validação de registro como [DataObrigatória]<=[DataPedido]+30 para garantir que alguém não insira uma data de remessa (o valor no campo DataObrigatória) muito distante no futuro.

Se a sintaxe das regras de validação não estiver muito clara para você, consulte a seção O que você pode colocar em uma regra de validação para obter uma explicação sobre a sintaxe e alguns exemplos de regras de validação.

Onde você pode usar regras de validação

Você pode definir regras de validação para campos de tabela e para controles em formulários. Quando você define regras para tabelas, essas regras se aplicam quando você importa dados. Para adicionar regras de validação a uma tabela, abra a tabela e use comandos na guia Campos de Tabela da faixa de opções. Para adicionar regras de validação a um formulário, abra o formulário no modo Layout e adicione regras às propriedades dos controles individuais.

As etapas da seção Adicionar uma regra de validação a uma tabela explicam como adicionar regras de validação aos campos da tabela. As etapas na seção Adicionar uma regra de validação a um controle em um formulário, mais adiante neste artigo, explicam como adicionar regras às propriedades em controles individuais.

O que você pode colocar em um regra de validação

Suas regras de validação podem conter expressões — funções que retornam um único valor. Você pode usar uma expressão para realizar cálculos, manipular caracteres ou testar dados. Uma expressão de regra de validação testa dados. Por exemplo, uma expressão pode verificar um valor de uma série, como "Tóquio" Or "Moscou" Or "Paris" Or "Helsinque". As expressões também podem realizar operações matemáticas. Por exemplo, a expressão <100 força os usuários a inserir valores menores que 100. A expressão ([DataPedido] - [DataRemessa]) calcula o número de dias decorridos entre a hora em que um pedido foi feito e a hora em que foi despachado.

Para saber mais sobre expressões, confira o artigo Criar uma expressão.

Início da página

Adicionar uma regra de validação a uma tabela

Você pode adicionar um regra de validação de campo e/ou registro. Uma regra de validação de campo verifica a entrada em um campo e é aplicada quando o foco sai do campo. Uma regra de validação de registro verifica a entrada em um ou mais campos e é aplicada quando o foco sai do registro. Geralmente, uma regra de validação de registro compara os valores de dois ou mais campos.

Observações: Os seguintes tipos de campo não fornecem suporte para regras de validação:

  • Numeração Automática

  • Objeto OLE

  • Anexo

  • CódigoDeReplicação

Criar uma regra de validação de campo

  1. Selecione o campo que você deseja validar.

  2. Na guia Campos de Tabela , no grupo Validação de Campo , clique em Validação e clique em Regra de Validação de Campo.

  3. Use o Construtor de Expressões para criar a regra. Para obter mais informações sobre como usar o Construtor de Expressões, consulte o artigo Usar o Construtor de Expressões.

Criar uma mensagem a ser exibida para entrada no campo que não seja válida

  1. Selecione o campo que precisa de uma mensagem para entrada que não seja válida. O campo já deve ter uma regra de validação.

  2. Na guia Campos de Tabela , no grupo Validação de Campo , clique em Validação e clique em Mensagem de Validação de Campo.

  3. Insira uma mensagem apropriada. Por exemplo, se a regra de validação for >10, a mensagem pode ser "Insira um valor menor que 10".

Para ver alguns exemplos de regras e mensagens de validação de campo, consulte a seção Referência da regra de validação.

Criar uma regra de validação de registro

  1. Abra a tabela para a qual você deseja validar registros.

  2. Na guia Campos de Tabela , no grupo Validação de Campo , clique em Validação e clique em Regra de Validação.

  3. Use o Construtor de Expressões para criar a regra. Para obter mais informações sobre como usar o Construtor de Expressões, consulte o artigo Usar o Construtor de Expressões.

Criar uma mensagem a ser exibida para entrada no registro que não seja válida

  1. Abra a tabela que precisa de uma mensagem para entrada que não seja válida. A tabela já deve ter uma regra de validação de registro.

  2. Na guia Campos de Tabela , no grupo Validação de Campo , clique em Validação e clique em Mensagem de Validação.

  3. Insira uma mensagem apropriada. Por exemplo, se a regra de validação for [StartDate]<[EndDate], a mensagem poderá ser "StartDate deve preceder EndDate".

Início da página

Testar os dados existentes em relação a uma nova regra de validação

Se você adicionar uma regra de validação a uma tabela existente, convém testá-la para ver se algum dado existente não é válido.

  1. Abra a tabela que você deseja testar no modo Design.

    Na guia Design de Tabela , no grupo Ferramentas , clique em Regras de Validação de Teste.

  2. Clique em Sim para fechar a mensagem de alerta e iniciar o teste.

  3. Se uma mensagem for exibida perguntando se você deseja salvar sua tabela, clique em Sim.

  4. Você pode ver várias outras mensagens de alerta conforme prossegue. Leia as instruções em cada mensagem e clique em Sim ou Não conforme apropriado para concluir ou interromper o teste.

Início da página

Adicionar uma regra de validação a um controle em um formulário

Você pode usar as propriedades Regra de Validação e Texto de Validação de um controle de formulário para validar dados que são inseridos nesse controle e para ajudar os usuários que inserem dados que não são válidos.

Dica:  Se você criar um formulário automaticamente a partir de uma tabela usando um dos comandos Formulário da faixa de opções, qualquer validação para os campos da tabela subjacente será herdada pelos controles correspondentes no formulário.

Um controle pode ter uma regra de validação diferente do campo de tabela ao qual o controle é associado. Isso é útil se você deseja que o formulário seja mais restritivo do que a tabela. A regra do formulário é aplicada e depois aplica-se a regra da tabela. Se a tabela for mais restritiva do que o formulário, a regra definida para o campo de tabela terá precedência. Se as regras forem mutuamente exclusivas, elas impedirão que você insira qualquer dado.

Por exemplo, suponha que você aplique a seguinte regra a um campo de data em uma tabela:

<#01/01/2010#

Mas então você aplica esta regra ao controle do formulário que é associado ao campo de data:

>=#01/01/2010#

O campo de data agora requer valores anteriores ao ano 2010, mas o controle do formulário requer que as datas sejam desse ano ou posteriores, impedindo, assim, que você insira qualquer dado.

Criar uma regra de validação para um controle

  1. Clique com o botão direito do mouse no formulário que você deseja alterar e clique em Modo Layout.

  2. Clique com o botão direito do mouse no controle que você deseja alterar e clique em Propriedades para abrir a folha de propriedades do controle.

  3. Clique na guia Tudo e insira sua regra de validação na caixa de propriedades Regra de Validação.

    Dica:  Clique no botão Construir para iniciar o Construtor de Expressões.

    Para saber mais sobre como usar o Construtor de Expressões, consulte o artigo Usar o Construtor de Expressões.

  4. Insira uma mensagem na caixa de propriedades Texto de Validação.

Início da página

Referência de regra de validação

As regras de validação usam a sintaxe de expressão do Access. Para saber mais sobre expressões, consulte o artigo Introdução a expressões.

Exemplos de regras e texto de validação

Regra de validação

Texto de validação

<>0

Insira um valor diferente de zero.

>=0

O valor deve ser igual ou maior que zero.

-ou-

Você deve inserir um número positivo.

0 or >100

O valor deve ser 0 ou maior que 100.

BETWEEN 0 AND 1

Insira um valor com um sinal de porcentagem. (Para uso com um campo que armazene valores numéricos como porcentagens.)

<#01/01/2007#

Insira uma data anterior a 2007.

>=#01/01/2007# AND <#01/01/2008#

A data deve se situar em 2007.

<Date()

A data de nascimento não pode estar no futuro.

StrComp(UCase([Sobrenome]), [Sobrenome],0) = 0

Os dados de um campo chamado Sobrenome devem estar em maiúsculas.

>=Int(Now())

Insira a data de hoje.

M Or F

Insira M para masculino ou F para feminino.

LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org"

Insira um endereço de email .com, .net ou .org válido.

[DataObrigatória]<=[DataPedido]+30

Insira uma data obrigatória que ocorra não mais do que 30 dias após a data do pedido.

[DataTérmino]>=[DataInício]

Insira uma data de término igual ou posterior à data de início.

Exemplos de sintaxe para operadores de regra de validação comuns

Operador

Função

Exemplo

NOT

Testa a existência de valores inversos. Use antes de qualquer operador de comparação, exceto IS NOT NULL.

NOT > 10 (o mesmo que <=10).

IN

Testa a existência de valores iguais aos membros existentes em uma lista. O valor de comparação deve ser uma lista separada por vírgula incluída entre parênteses.

IN ("Tóquio","Paris","Moscou")

BETWEEN

Testa a existência de um intervalo de valores. Você deve usar dois valores de comparação — baixo e alto — e deve separar esses valores com o separador AND.

BETWEEN 100 AND 1000 (o mesmo que >=100 AND <=1000)

LIKE

Corresponde cadeias de padrão em campos de Texto e Memorando.

LIKE "Geo*"

IS NOT NULL

Força os usuários a inserir valores no campo. Equivale a definir a propriedade de campo Obrigatório como Sim. Porém, quando você habilita a propriedade Obrigatório e um usuário deixa de inserir um valor, o Access exibe uma mensagem de erro não muito clara. Em geral, seu banco de dados fica mais fácil de usar com IS NOT NULL e uma mensagem clara na propriedade Texto de Validação.

IS NOT NULL

AND

Especifica que todas as partes da regra de validação devem ser verdadeiras.

>= #01/01/2007# AND <=#03/06/2008#

Observação: Você também pode usar AND para combinar regras de validação. Por exemplo: NOT "RU" AND LIKE "R*".

OR

Especifica que algumas, mas não todas as partes da regra de validação devem ser verdadeiras.

Janeiro OR Fevereiro

<

Menor que.

<=

Menor que ou igual a.

>

Maior que.

>=

Maior que ou igual a.

=

Igual a.

<>

Diferente de.

Usando caracteres curinga em regras de validação

Você pode usar caracteres curinga em suas regras de validação. Tenha em mente que o Access fornece suporte para dois conjuntos de caracteres curinga: ANSI-89 e ANSI-92. Cada um desses padrões usa um conjunto diferente de caracteres curinga.

Por padrão, todos os arquivos .accdb e .mdb usam o padrão ANSI-89.

Você pode mudar o padrão ANSI de um banco de dados para ANSI-92 usando o seguinte procedimento:

  1. Na guia Arquivo, clique em Opções.

  2. Na caixa de diálogo Opções do Access, clique em Designers de Objetos.

  3. Na seção Design da consulta, em Sintaxe compatível com SQL Server (ANSI 92), selecione Este banco de dados.

Para obter mais informações sobre o uso de caracteres curinga e os padrões ANSI para SQL, consulte o artigo Referência de caracteres curinga do Access.

Início da página

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.