Criar uma regra de validação para validar dados em um campo

Este artigo explica como adicionar regras de validação em um banco de dados. As regras de validação restringem o que os usuários podem inserir em um campo específico e também ajudam a garantir que o usuários de seu banco de dados insiram tipos ou quantidades adequadas de dados.

O que deseja fazer?


Entender as regras de validação

Uma regra de validação limita ou controla o que os usuários podem inserir em um campo de tabela ou em um controle (como uma caixa de texto) de um formulário. O Microsoft Office Access 2007 proporciona várias formas para validar dados, e você muitas vezes usa várias dessas técnicas para definir uma regra de validação. Você pode pensar nas regras de validação como um conjunto de camadas — é possível usar algumas ou todas as camadas para ter certeza de que os usuários inserem dados corretamente.

  • Tipos de dados    Os tipos de dados normalmente fornecem a primeira camada da validação. Ao projetar uma tabela de banco de dados, você define o tipo de dados para cada campo na tabela, e que o tipo de dados restringe o que os usuários podem inserir. Por exemplo, um campo Data/Hora aceita apenas datas e horas, um campo Moeda aceita somente dados monetário, e assim por diante.
  • Tamanhos dos campos    Os tamanhos dos campos fornecem uma camada adicional de validação. Por exemplo, se você criar um campo que armazene os primeiros nomes, é possível configurá-lo para aceitar um máximo de 20 caracteres. Isso pode impedir que usuários mal-intencionados colem grandes quantidades de texto inadequado no campo, ou impedir que um usuário inexperiente digite por engano o nome e o sobrenome em um campo destinado apenas ao primeiro nome.
  • Propriedades da tabela    As propriedades da tabela oferecem tipos de validação muito específicos. Por exemplo, você pode definir a propriedade Obrigatório como Sim e, assim, forçar os usuários a inserirem um valor no campo.

Você também pode usar a propriedade Regra de Validação para solicitar valores específicos e a propriedade Texto de Validação para alertar os usuários quanto aos erros. Por exemplo, inserir uma regra como >100 e <1000 na propriedade Regra de Validação, força os usuários a inserirem valores entre 100 e 1.000. Uma regra como [DataDeTérmino]>=[DataDeInício] força os usuários a inserirem uma data final igual à data inicial ou posterior a ela. Inserir textos como "Inserir valores entre 100 e 1.000" ou "Inserir uma data final igual à data inicial ou posterior" na propriedade Texto de Validação, informa os usuários quando eles cometem um erro e como corrigi-lo.

Para conhecer as etapas necessárias para adicionar uma regra de validação a um campo de tabela, consulte a seção Validar dados durante a entrada em campos de tabela, posteriormente neste artigo.

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

Você pode usar algumas ou todas essas técnicas para validar seus dados. Parte desses recursos, como tipos de dados, por padrão, se tornam parte de seu banco de dados, mas é possível usar outras técnicas, como propriedades de campo, regras de validação e máscaras de entrada, a seu critério.

Este artigo descreve como usar as propriedades Texto de Validação e Regra de Validação em campos de tabela, consultas e controle de formulário. A explicação completa sobre outras ferramentas de validação, como tipos de dados, tamanhos de campo e máscaras de entrada não faz parte do escopo deste artigo.

Para obter mais informações sobre tipos de dados e tamanhos de campo, consulte o artigo Modificar ou alterar tipo de dados definido para um campo. Para obter informações sobre máscaras de entrada, consulte o artigo Criar uma máscara de entrada para inserir valores de campo ou controle em um formato específico.

Tipos de regras de validação

É possível 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 é inserido em um campo ao sair dele. Por exemplo, suponha que em um campo Data você digite >=#01/01/2007# na propriedade Regra de Validação desse campo. A regra solicita agora que os usuários insiram datas iguais ou posteriores a 1º de janeiro de 2007. Se você inserir uma data anterior a 2007 e tentar passar para outro campo, o Access impedirá a sua saída do campo atual até que o problema nele seja resolvido.
  • Regras de validação de registro (ou tabela)    Use uma regra de validação de registro para controlar quando salvar um registro (uma linha em uma tabela). Diferentemente das regras de validação de campo, as regras de validação de registro se referem a outros campos na mesma tabela. Você cria regras de validação de registro quando precisar verificar os valores em um campo em relação a valores em outro campo. Por exemplo, suponha que o negócio exija que produtos sejam enviados dentro de 30 dias e, se o envio não for realizado dentro desse período, parte do preço de compra deverá ser devolvido ao cliente. Você pode definir uma regra de validação de registro, como [DataObrigatória]<=[DataDoPedido]+30 para ter certeza de que ninguém digitará uma data de envio (o valor no campo DataObrigatória) bem mais adiante no futuro.

Se a sintaxe das regras de validação parece enigmática, as tabelas na seção O que pode ser colocado em uma regra de validação explicam a sintaxe e fornecem alguns exemplos dessas regras.

Onde você pode usar as regras de validação

Você pode definir regras de validação para tabelas e controles em formulário. Ao definir regras para tabelas, elas se aplicarão na importação de dados. Para adicionar regras de validação para uma tabela, abra-a no modo Design e defina várias propriedades. Para adicionar regras de validação em um formulário, abra-o no modo Design e adicione as regras às propriedades de controles individuais.

As etapas na seção Validar dados durante a entrada em campos de tabela descrevem como adicionar regras de validação a campos de tabela. As etapas na seção Validar dados durante a entrada em formulários, mais adiante neste artigo, descrevem como adicionar regras às propriedades em controles individuais.

O que pode ser colocado em uma regra de validação

As regras de validação podem conter expressões — funções que retornam um único valor. É possível usar expressões para realizar cálculos, manipular caracteres ou testar dados. Ao criar regras de validação, você usa expressões basicamente para testar dados. Por exemplo, uma expressão pode verificar um de uma série de valores, como "Tóquio" Ou "Moscou" Ou "Paris" Ou "Helsinque". As expressões também executam operações matemáticas. Por exemplo, a expressão <100 força os usuários a inserir valores inferiores a 100. A expressão ([DataDoPedido] - [DataDeEnvio]) calcula o número de dias decorridos entre a hora do pedido e a hora de seu envio.

A explicação das expressões e funções não está no escopo deste artigo. Para obter mais informações sobre expressões, consulte o artigo Criar uma expressão. Para obter mais informações sobre funções, consulte os artigos no Microsoft Office Online.

Para obter exemplos do uso de expressões para validar dados, consulte a seção Validar dados em um registro.

As etapas nas seções a seguir descrevem como validar dados de tabelas, formulários, consultas e operações de importação.

Início da página Início da página

Validar dados durante a entrada em campos de tabela

As etapas nesta seção descrevem como criar regras de validação de nível de campo e de nível de registro, e como testar os dados existentes em relação a uma nova regra de validação.

É possível inserir regras de validação para todos os tipos de dados, exceto para AutoNumeração, Objeto OLE e tipos de dados de Anexo, e para os campos Numero definidos como CódigoDeReplicação.

Validar dados em um campo

  1. No Painel de Navegação, clique com o botão direito do mouse na tabela que deseja alterar e clique em Modo Design.
  2. Na coluna Nome do Campo, selecione o campo que deseja alterar.
  3. Na seção inferior do criador de tabelas, na guia Geral, selecione a caixa de propriedades Regra de Validação e digite a regra de validação.

-ou-

Clique na guia Dados da folha de propriedades, clique em Imagem de botão depois de iniciar o Construtor de Expressões e criar sua expressão.

Para obter mais informações sobre o uso do Construtor de Expressões, consulte o artigo Criar uma expressão.

Insira uma regra que se aplique apenas ao campo. Por exemplo, digite >0 para forçar os usuários a inserir valores positivos. Lembre-se de que uma regra de validação para um campo não se refere a outros campos na tabela. Se a regra fizer referência a outros campos, você estará criando uma validação de nível de registro.

  1. Selecione a caixa de propriedades Texto de Validação e digite uma mensagem de validação.

A mensagem digitada dependerá de sua regra de validação. Mantenha a mensagem curta e tente explicar onde o usuário está errando. Para continuar o exemplo da etapa anterior, use Inserir apenas números positivos como texto de validação.

  1. Salve seu trabalho.

 Observação   Para obter mais exemplos de validação de nível de campo, consulte a seção Referência da validação, mais adiante neste artigo.

Validar dados em um registro

  1. Repita as etapas 1 e 2 da seção anterior para abrir uma tabela no modo Design.
  2. Na guia Geral, insira uma regra de nível de registro na caixa de propriedades Regra de Validação.

-ou-

Clique em Imagem do botão depois em iniciar o Construtor de Expressões e criar sua expressão.

Para obter mais informações sobre o uso do Construtor de Expressões, consulte o artigo Criar uma expressão.

Uma regra de validação de nível de registro se refere a mais de um campo de tabela. Por exemplo, uma regra [DataObrigatória]<=[DataDoPedido]+30 se refere a dois campos de tabela, DataObrigatória e DataDoPedido, e garante que os usuários insiram datas de envio que ocorram dentro de 30 dias após a solicitação do pedido. Para obter mais exemplos de validação de nível de registro, consulte a seção Referência da Validação.

  1. Salve as alterações.

Testar as regras de validação

  1. Abra a tabela que contém a regra de validação no modo Design.
  2. Na guia Design, no grupo Ferramentas, clique em Testar Regras de Validação.
  1. Clique em Sim para fechar a mensagem de alerta e iniciar o teste.
  2. Se for solicitado que salve a tabela, clique em Sim.
  3. Várias outras mensagens de alerta poderão ser exibidas. Leia as instruções em cada mensagem e clique em Sim ou Não, conforme adequado, para concluir ou interromper o teste.

Testar as regras de validação usando uma consulta

 Observação   Você também pode testar a regra de validação gravando uma consulta que teste os registros que não estão em conformidade com a sua regra de validação. Os resultados desta consulta indicam exatamente os registros que não atenderam aos requisitos de validação. Por exemplo, se você definir a propriedade Obrigatório como Sim ou É Negado Nulo, você testará campos que são nulos.

  1. Na guia Criar, no grupo Outros, clique em Design de Consulta.

Imagem da Faixa de Opções do Access

O Access abre uma nova consulta no modo Design, e exibe a caixa de diálogo Mostrar Tabela.

  1. Na caixa de diálogo Mostrar Tabela, selecione a tabela ou as tabelas que deseja usar na sua consulta, clique em Adicionar para adicioná-las à consulta e clique em Fechar.

As tabelas selecionadas são exibidas como janelas na parte superior do criador de consultas.

  1. Em cada tabela, clique duas vezes nos campos que deseja incluir na consulta.

-ou-

Arraste os campos da tabela e solte-os em uma célula em branco na linha Campo na parte inferior da grade de design.

Verifique se o campo que contém a regra de validação foi adicionado.

  1. Na célula Critérios do campo que contém a regra de validação, insira o oposto dessa regra.

Por exemplo, se você usar ENTRE 100 E 1000, digite<100 OU >1000.

  1. Na guia Design, no grupo Resultados, clique em Executar.

Início da página Início da página

Validar dados durante a entrada em formulários

A maneira mais rápida e fácil para aplicar uma regra de validação em um formulário é, primeiramente, adicionar a regra ao campo da tabela de base e usar as ferramentas automatizadas para criação de formulários que o Access oferece para criar um formulário. Por exemplo, na guia Criar, no grupo Formulários, você pode determinar que o Access crie um formulário simples, um formulário dividido, um formulário de vários itens e muito mais. Quando uma dessas ferramentas é usada, os controles no formulário herdam as propriedades da tabela de base, incluindo quaisquer regras de validação e texto de validação.

Você também pode aplicar uma regra de validação a um controle de formulário abrindo-o no modo Design e adicionando uma regra à propriedade Regra de Validação e o texto da mensagem à propriedade Texto de Validação do controle. As regras de validação podem ser adicionadas a alguns, mas não a todos, controles de formulário. A forma mais fácil para determinar se uma regra de validação pode ser adicionada a um controle é abrir o formulário no modo Design e seguir as etapas nesta seção.

Lembre-se de que um controle pode ter uma regra de validação diferente daquela do campo de tabela ao qual o controle está ligado. Quando houver um conflito entre as regras de validação, a regra definida para o campo de tabela prevalecerá. Lembre-se também de que as regras em controles e campos de tabela podem cancelar uma a outra e, assim, impedir que você insira quaisquer dados. Por exemplo, suponha que você aplique a seguinte regra a um campo de data em uma tabela:

<#01/01/2007#

Mas você aplica esta regra ao controle de formulário ligado ao campo de tabela:

>=#01/01/2007#

O campo de tabela agora exige valores anteriores ao ano de 2007, mas o controle do formulário força você a inserir datas posteriores a esse ano, impedindo assim que você insira qualquer dado. Ao tentar inserir dados nessas condições, o Access solicita que você insira datas anteriores e posteriores àquelas especificadas pelas regras de validação conflitantes, e assim você fica preso a um círculo sem fim.

As etapas a seguir explicam como adicionar regras de validação aos controles e como bloquear os controles, impedindo, assim, que os usuários alterem os dados.

Criar uma regra de validação

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário que deseja alterar e clique em Modo Design.
  2. Clique com o botão direito do mouse no controle que deseja alterar e clique em Propriedades para abrir a folha de propriedades do controle.
  3. Clique na guia Tudo e insira a regra de validação na caixa de propriedades Regra de Validação.

-ou-

Clique em Imagem do botão depois em iniciar o Construtor de Expressões e criar uma expressão.

Para obter mais informações sobre o uso do Construtor de Expressões, consulte o artigo Criar uma expressão.

  1. Digite uma mensagem na caixa de propriedades Texto de Validação.
  2. Salve as alterações.

Bloquear um controle

  1. Siga as etapas 1 e 2 da seção anterior para abrir a folha de propriedades do controle que deseja bloquear.
  2. Clique na guia Tudo, localize as caixas de propriedades Habilitado e Bloqueado e faça o seguinte:
    • Para desabilitar o controle (fazer o controle ser exibido esmaecido e desabilitado para receber enfoque), defina a propriedade Habilitado como Não.
    • Para que os dados no controle possam ser lidos, sem que os usuários possam alterar os dados, defina a propriedade Bloqueado como Sim. Se você definir a propriedade Habilitado como Não e a propriedade Bloqueado como Sim, o controle não ficará esmaecido, porém, não poderá receber enfoque.

Início da página Início da página

Validar dados durante operações de importação

Quando você adiciona regras de validação a uma tabela e, em seguida, importa dados para essa tabela, o Access aplica suas regras de validação aos dados importados. A mesma regra se aplica quando você faz a vinculação a dados.

Para obter mais informações sobre importação ou vinculação a dados, consulte os seguintes artigos:

Início da página Início da página

Referência da regra de validação

As tabelas a seguir fornecem as informações de referência para regras de validação, incluindo a sintaxe que a maioria das regras comuns usam, vínculos às informações sobre o uso de caracteres curinga nas suas regras e exemplos que podem ser adaptados para uso com seus dados.

Exemplos de regras de validação

A tabela a seguir fornece exemplos de regras de validação de nível de campo e de nível de registro, mais o texto de validação explicativo. Você pode adaptar esses exemplos para que se ajustem ao seu conteúdo.

Regra de validação Texto de validação
<>0 Insira um valor diferente de zero.
>=0

O valor deve ser zero ou maior.

-ou-

Você deve digitar um número positivo.

0 ou >100 O valor deve ser 0 ou maior que 100.
ENTRE 0 E 1 Insira um valor com o sinal de porcentagem. (Para uso com um campo que armazena valores numéricos como porcentagens.)
<#01/01/2007# Insira uma data anterior a 2007.
>=#01/01/2007# E <#01/01/2008# A data deve estar em 2007.
<Date() A data de nascimento não pode estar no futuro.
StrComp(UCase([Sobrenome]),
[Sobrenome],0) = 0
Os dados no campo Sobrenome devem estar em letras maiúsculas.
>=Int(Now()) Insira a data de hoje.
M Ou F Insira M para Masculino ou F para Feminino.
COMO"[A-Z]*@[A-Z].com" OU "[A-Z]*@[A-Z].net" OU "[A-Z]*@[A-Z].org" Insira um endereço de email válido .com, .net, or .org.
[DataObrigatória]<=[DataDoPedido]+30 Insira a data obrigatória que não deve exceder 30 dias após a data do pedido.
[DataDeTérmino]>=[DataDeInício] Insira uma data de término igual ou posterior à data de início.

Sintaxe para regras de validação comuns

As expressões nas regras de validação não usam uma sintaxe específica. As informações nesta seção explicam a sintaxe de algumas regras de validação mais comuns. Conforme você progride, lembre-se de que as expressões e as funções podem ser muito complexas, e uma discussão abrangente está fora do escopo deste artigo.

Para obter mais informações sobre expressões, consulte o artigo Criar uma expressão. Para obter mais informações sobre funções, consulte o artigo Funções (organizadas por categoria).

Lembre-se dessas regras ao criar expressões:

  • Coloque o nome dos campos de tabela entre colchetes, como se segue : [DataObrigatória]<=[DataDoPedido]+30.
  • Coloque as datas com sinal de numeral (#), como se segue: <#01/01/2007#
  • Coloque os valores de texto entre aspas duplas, como se segue: IN ("Tóquio","Paris","Moscou"). Observe que os itens devem estar separados por vírgulas e as listas são colocadas entre parênteses.

Além dessas regras, a tabela a seguir mostra os operadores aritméticos comuns e fornece exemplos de como usá-los.

Operador Função Exemplo
NÃO Testes para valores convertidos. Use antes de qualquer operador de comparação, exceto É NEGADO NULO. NÃO > 10 (o mesmo que <=10).
IN Testes para valores iguais aos membros existentes em uma lista. O valor de comparação deve ser uma lista separada por vírgulas colocada entre parênteses. IN ("Tóquio","Paris","Moscou")
ENTRE Testes para um intervalo de valores. Você deve usar dois valores de comparação — baixo e alto — e deve separar esses valores com o separador E. ENTRE 100 E 1000 (o mesmo que>=100 E <=1000)
COMO Faz a correspondência entre seqüências padrão em campos Texto e Memorando. COMO "Geo*"
É NEGADO NULO Força os usuários a inserir valores no campo. Isso é o mesmo que configurar a propriedade do campo Obrigatório como Sim. Entretanto, ao habilitar a propriedade Obrigatório e um usuário não inserir um valor, o Access exibirá algo parecido como uma mensagem de erro não amigável. Normalmente, usar o banco de dados torna-se mais fácil se você usar É NEGADO NULO e digitar uma mensagem amigável na propriedade Texto de Validação. É NEGADO NULO
E Especifica que todos os dados que forem inseridos devem ser verdadeiros e estão dentro dos limites que você especificar.

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

 Observação   Você também pode usar E para combinar regras de validação. Por exemplo: NÃO "RU" E COMO "U*".

OU Especifica que uma ou mais partes dos dados podem ser verdadeiras. Janeiro OU Fevereiro
< Inferior a.
<= Inferior ou igual a.
> Superior a.
>= Superior a ou igual a.
= Igual a.
<> Não igual a.

Usando caracteres curinga nas regras de validação

O Access oferece vários caracteres curinga que você pode usar nas suas regras de validação. Lembre-se de que o Access oferece suporte a dois conjuntos de caracteres curinga. Isso porque ele oferece suporte a dois padrões do SQL (Structured Query Language), a linguagem usada para criar e gerenciar bancos de dados: ANSI-89 e ANSI-92. Cada um desses padrões usa um conjunto diferente de caracteres curinga.

Por padrão, todos os arquivos com extensão .accdb e .mdb usam o padrão ANSI-89; ao contrário dos projetos em Access que usam o padrão ANSI-92. Se você não estiver familiarizado com o Access, em um projeto do Access, as tabelas no banco de dados residem em um computador que executa o Microsoft SQL Server e os formulários, relatórios e outros objetos residem em outros computadores. Se desejar, você pode alterar o padrão ANSI dos arquivos .accdb e .mdb para ANSI-92.

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

Início da página Início da página

 
 
Aplica-se a:
Access 2007