Este artigo explica como criar expressões condicionais (também conhecidas como boolianas) no Access. Uma expressão condicional é avaliada como verdadeira ou falsa e, em seguida, retorna um resultado que atende à condição especificada por você. Se você usar funções em suas expressões condicionais, também poderá especificar uma ação para valores que fazem e não atendem à condição na expressão. Por exemplo, você pode criar uma expressão que encontre todas as vendas com uma margem de lucro de 10% ou menos e especifique que esses números aparecem no tipo vermelho ou substitua os valores por uma mensagem.
Neste artigo
Entender expressões condicionais
Uma expressão condicional é um tipo de expressão que testa seus dados para ver se ele atende a uma condição e, em seguida, toma uma ação dependendo do resultado. Por exemplo, uma expressão pode procurar valores de data mais tarde do que uma determinada data de início e exibir uma mensagem de erro ao tentar inserir uma data anterior à data de início definida.
Expressões condicionais tomam o mesmo formulário e usam a mesma sintaxe básica que outras expressões, e você pode usá-las da mesma maneira que você usa outras expressões:
-
Para campos de tabela, você adiciona sua expressão à propriedade Regra de Validação do campo. Em seguida, os usuários devem inserir valores no campo que correspondam às condições na expressão. Por exemplo, se você usar uma expressão como >=#1/1/2000# em um campo Data/Hora, os usuários devem inserir valores iguais ou posteriores a 1º de janeiro de 2000.
-
Para controles em formulários, você pode adicionar sua expressão à propriedade Control Source ou Validation Rule do controle. Normalmente, você adiciona expressões condicionais à propriedade Regra de Validação e adiciona expressões que calculam valores à propriedade Fonte de Controle . Por exemplo, usar >=#1/1/2000# na propriedade Regra de Validação de um controle impede que os usuários insiram uma data inválida. Usar uma expressão como Date() na propriedade Fonte de Controle exibe a data atual como o valor padrão.
-
Para consultas, você pode adicionar suas expressões condicionais a uma célula em branco na linha Campo ou usar uma expressão na linha Critérios da consulta. Quando você usa uma expressão na linha Campo , os resultados aparecem como uma coluna nos resultados da consulta. Quando você usa uma expressão como critério para um campo existente, a expressão atua como um filtro e limita os registros que a consulta retorna.
Por exemplo, você pode usar essa expressão na linha Campo de uma consulta: =IIf([Data da Ordem]<=#04/01/2018#,[Data da Ordem]",Ordem inserida após 1º de abril"). A expressão especifica um critério de data (<=#04/01/2018#). Quando a consulta é executada, ela exibe todos os valores de data que atendem ao critério e todos os valores de data que não atendem ao critério são substituídos pela mensagem "Ordem inserida após 1º de abril". As etapas na seção Adicionar uma expressão a uma consulta explicam como usar essa expressão em uma consulta.
Por outro lado, o uso dessa expressão no campo Critérios de uma consulta retorna apenas os registros com datas que atendem ao critério: Between #04/01/2018# E #05/15/2018#.
Para obter mais informações sobre como criar e usar expressões, consulte o artigo Aprender a criar uma expressão.
Criar uma expressão condicional
As etapas nesta seção explicam como adicionar uma expressão condicional a uma tabela, um controle em um formulário ou relatório e uma consulta. Cada conjunto de etapas usa uma expressão ligeiramente diferente para testar os valores em um campo Data/Hora e tomar medidas, com base em se os valores de data atendem à condição especificada.
Adicionar uma expressão a um campo de tabela
-
No Painel de Navegação, clique com o botão direito do mouse na tabela que você deseja alterar e clique em Modo Design no menu de atalho.
-
Na coluna Tipo de Dados , clique no campo Data/Hora.
-
Em Propriedades de Campo, na guia Geral , clique na caixa de propriedade Regra de Validação e digite a seguinte expressão:
>=#01/01/2000#
Observação: Você não precisa usar o formato de data dos EUA. Você pode usar o formato de data para seu país/região ou localidade. No entanto, você deve cercar o valor da data com sinais de libra (#), conforme mostrado.
-
Clique na coluna ao lado de Texto de Validação e digite esta cadeia de texto:
A data deve ser maior que 1º de janeiro de 2000.
Novamente, você pode usar o formato de data local.
-
Salve suas alterações e alterne para a exibição Datasheet. Para fazer isso, clique com o botão direito do mouse na guia documento da tabela e clique em Exibição de Folha de Dados no menu de atalho.
-
Digite um valor de data no campo Data/Hora antes de 1º de janeiro de 2000. O Access exibe a mensagem especificada na caixa de propriedade Regra de Validação e você não pode sair do campo a menos que insira um valor que sua expressão avalie como true.
Adicionar uma expressão a um controle
-
No Painel de Navegação, clique com o botão direito do mouse no formulário que você deseja alterar e clique em Exibição de Design no menu de atalho.
-
Clique com o botão direito do mouse em um controle vinculado a um campo Data/Hora e clique em Propriedades no menu de atalho.
A folha de propriedades do controle é exibida.
-
Na guia Dados ou na guia Todos , clique no campo ao lado da Regra de Validação e digite a seguinte expressão:
>=#01/01/2000#
Observação: Você não precisa usar o formato de data dos EUA. Você pode usar o formato de data para seu país/região ou localidade. No entanto, você deve cercar o valor da data com sinais de libra (#), conforme mostrado.
-
Clique na coluna ao lado de Texto de Validação e digite esta cadeia de texto:
A data deve ser maior que 1º de janeiro de 2000.
-
Salve suas alterações e volte para o modo de exibição Form. Para fazer isso, clique com o botão direito do mouse na guia documento do formulário e clique em Modo de Exibição no menu de atalho.
Adicionar uma expressão a uma consulta
-
No Painel de Navegação, clique com o botão direito do mouse na consulta que você deseja alterar e clique em Modo Design no menu de atalho.
-
Clique em uma célula em branco na linha Campo da grade de design e digite a seguinte expressão:
=IIf([Field_Name]<=#04/01/2018# , [Field_Name] , "Data posterior a 1 de abril de 2018")
Ao digitar a expressão, substitua as duas instâncias de Field_Name pelo nome do campo Data/Hora. Além disso, se sua tabela não contiver datas anteriores a 1º de abril de 2018, altere as datas na expressão para trabalhar com seus dados.
-
Salve suas alterações e clique em Executar para exibir os resultados.
A expressão funciona da seguinte maneira: O primeiro argumento (=IIf([Field_Name]<=#04/01/2018#) especifica a condição que os dados devem atender – as datas devem estar ativadas ou anteriores a 1º de abril de 2018. O segundo argumento ([Field_Name]) especifica o que os usuários veem quando a condição é verdadeira – as datas no campo. O terceiro argumento ("Data posterior a 1 de abril de 2018")) especifica a mensagem que os usuários veem quando os dados não atendem à condição.
Conforme você prossegue, lembre-se de que nem todas as expressões condicionais usam a função IIf . Além disso, lembre-se de que a função IIf é a parte da expressão que requer os argumentos e não a expressão em si.
Para obter mais informações sobre expressões e as maneiras pelas quais você pode usá-las, consulte o artigo Aprender a criar uma expressão.
Exemplos de expressões condicionais
As expressões na tabela a seguir mostram algumas maneiras de calcular valores verdadeiros e falsos. Essas expressões usam a função IIf (Se Imediato) para determinar se uma condição é verdadeira ou falsa e retornam um valor se a condição for verdadeira e outro valor se a condição for falsa.
Consulte o artigo IIf Function para obter mais informações.
Expressão |
Descrição |
=SeImed([Confirmado] = "Sim", "Pedido Confirmado", "Pedido Não Confirmado") |
Exibe a mensagem "Order Confirmed" se o valor do campo Confirmado for Sim; caso contrário, ele exibe a mensagem "Ordem Não Confirmada". |
=IIf(IsNull([País/região])", ", [País/região]) |
Exibe uma cadeia de caracteres vazia se o valor do campo País/região for Null; caso contrário, ele exibe o valor do campo País/região. |
=IIf(IsNull([Region]),[City]&" "& [PostalCode], [City]&" "&[Region]&" " &[PostalCode]) |
Exibe os valores dos campos Cidade e PostalCode se o valor do campo Região for Null; caso contrário, ele exibe os valores dos campos Cidade, Região e PostalCode. |
=IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Exibe a mensagem "Verificar uma data ausente" se o resultado da subtração do valor do campo ShippedDate do campo RequiredDate for Null; caso contrário, ele exibe a diferença entre os valores dos campos RequiredDate e ShippedDate. |