Você pode usar expressões para várias tarefas no Microsoft Access, como efetuar cálculos matemáticos, combinar ou extrair texto ou validar dados. Este artigo fornece informações básicas sobre as expressões —quando utilizá-las, como elas se comparam com as fórmulas do Microsoft Excel e quais são seus componentes.
Neste artigo
Visão geral de expressões
Pense desta maneira: quando você quer que o Access faça algo, precisa falar o idioma dele. Por exemplo, suponha que você queira instruir o Access a "Examinar o campo de data de nascimento na tabela Clientes e dizer-me o ano de nascimento do cliente". Você pode gravar essa expressão como:
DatePart("yyyy",[Customers]![BirthDate])
Essa expressão consiste na função PartData e em dois valores de argumento: "yyyy" e [Customers]![BirthDate].
Vamos examinar essa expressão mais detalhadamente.
1 PartData é uma função que examina uma data e retorna uma parte específica. Nesse caso, os primeiros dois argumentos são usados.
2 O argumento do intervalo diz ao Access qual parte da data deve ser devolvida - nesse caso, "yyyy" diz ao Access que você quer apenas a parte do ano da data devolvida.
3 O argumento da data diz ao Access onde procurar o valor da data - nesse caso, [Customers]![BirthDate] diz ao Access para procurar a data no campo BirthDate da tabela Clientes.
Maneiras de usar expressões
Você pode usar expressões das seguintes maneiras:
-
Calcular valores que não existem diretamente em seus dados. É possível calcular valores em campos de tabelas e consultas, além de calcular valores em controles de formulários e relatórios.
-
Definir um valor padrão para um campo de tabela ou para um controle em um formulário ou relatório. Esses valores padrão aparecem sempre que uma tabela, um formulário ou um relatório é aberto.
-
Criar uma regra de validação para controlar quais valores os usuários podem inserir em um campo ou controle.
-
Definir os critérios de consulta para limitar os resultados a um subconjunto desejado.
Calcular valores
Uma das maneiras mais comuns de usar expressões no Access é calcular valores que não existem diretamente em seus dados. Uma coluna ou consulta em uma tabela resultante desse cálculo é chamada de campo calculado. Você pode criar um campo calculado que combina dois ou mais campos da tabela. Por exemplo, várias tabelas armazenam nomes e sobrenomes em campos distintos. Se quiser combinar os nomes e sobrenomes e exibi-los em um único campo, crie um campo calculado na tabela ou em uma consulta:
[FirstName] & " " & [LastName].
Nesse caso, os comerciais (&) combinam o valor no campo FirstName, um caractere de espaço (um espaço entre aspas) e o valor no campo LastName.
Definir um valor padrão
Você também pode usar expressões no Access para fornecer um valor padrão para um campo em uma tabela ou para um controle. Por exemplo, para definir o valor padrão de um campo de data como a data atual, na propriedade Default Value referente a esse campo, digite:
Date()
Criar uma regra de validação
Além disso, você pode usar uma expressão para definir uma regra de validação. Por exemplo, use uma regra de validação em um campo de tabela ou controle para exigir que a data inserida seja maior que a data atual ou igual a ela. Nesse caso, você define o valor da caixa de propriedade Validation Rule como:
>= Date()
Definir os critérios de consulta
Por fim, é possível usar uma expressão para definir critérios para uma consulta. Por exemplo, suponha que você queira exibir vendas de produtos para os pedidos que foram entregues em um certo intervalo de tempo. Você pode inserir critérios para definir um intervalo de tempo, e o Access retornará apenas as linhas que corresponderem a esses critérios. Por exemplo, sua expressão pode ter a seguinte aparência:
Between #1/1/2017# And #12/31/2017#
Quando você adicionar critérios à consulta e a executa em seguida, ela retornará somente os valores que corresponderem às datas especificadas.
Exemplos de expressões
A tabela a seguir lista alguns exemplos de expressões do Access e como elas são normalmente utilizadas:
Expressão |
Finalidade |
---|---|
=[RequiredDate]-[ShippedDate] |
Calcula a diferença entre os valores de data em dois controles de caixa de texto (chamados DataDeEntrega e DataDeEnvio) em um relatório. |
Date() |
Define o valor padrão para um campo de tabela Data/Hora como a data atual. |
Between #1/1/2017# And #12/31/2017# |
Especifica critérios para um campo de Data/Hora em uma consulta. |
=[Orders Subform].Form!OrderSubtotal |
Retorna o valor do controle SubtotalPedido no subformulário Pedidos que está no formulário Pedidos. |
>0 |
Define uma regra de validação para um campo numérico em uma tabela — os usuários devem inserir valores maiores do que zero. |
Algumas expressões começam com o operador de igual (=) e outras não. Ao calcular um valor para um controle em um formulário ou relatório, use o operador = para iniciar a expressão. Em outras situações, como quando você digita uma expressão em uma consulta ou na propriedade DefaultValue ou ValidationRule de um controle ou campo, você não usa o operador =, a menos que você esteja adicionando a expressão a um campo de texto em uma tabela. Em alguns casos, por exemplo ao adicionar expressões a consultas, o Access remove o operador = automaticamente.
Componentes de expressões
Uma expressão consiste em um número de possíveis componentes que você pode usar, sozinhos ou em combinação, para produzir um resultado. Esses componentes incluem:
-
Identificadores Os nomes dos campos da tabela ou controles em formulários ou relatórios, ou as propriedades desses campos ou controles
-
Operadores Por exemplo, o + (sinal de adição) ou - (sinal de subtração).
-
Funções Por exemplo, SOMA ou MÉDIA.
-
Constantes Valores que não mudam, como cadeias de caracteres de texto ou números que não são calculados por uma expressão.
-
Valores Cadeias de caracteres, como "Insira um número entre 1 e 10." ou números, como 1.254, usados em operações.
As seções a seguir descrevem esses componentes mais detalhadamente.
Identificadores
Um identificador é o nome de um campo, propriedade ou controle. Um identificador é usado em uma expressão para fazer referência ao valor associado a um campo, uma propriedade ou um controle. Por exemplo, considere a expressão =[RequiredDate]-[ShippedDate]. Ela subtrai o valor do campo ou controle ShippedDate do valor do campo ou controle RequiredDate. Nessa expressão, tanto RequiredDate quanto ShippedDate funcionam como identificadores.
Operadores
O Access oferece suporte a vários operadores, incluindo operadores aritméticos comuns, como +, -, * (multiplicação) e / (divisão). Você também pode usar operadores de comparação como < (menor que) ou > (maior que) para comparar valores, operadores de texto como & e + para concatenar (combinar) texto, operadores lógicos como Not e And para determinar valores verdadeiros ou falsos, e outros operadores específicos do Access.
Funções
As funções são procedimentos internos que podem ser utilizados em expressões. Elas são utilizadas para diversas operações, como calcular valores, manipular texto e datas e resumir dados. Por exemplo, uma função normalmente utilizada é DATA, que retorna a data atual. A função DATA pode ser utilizada de diversas formas, como uma expressão que define o valor padrão para um campo em uma tabela. Nesse exemplo, sempre que alguém adiciona um novo registro, o valor do campo é definido como a data atual por padrão.
Algumas funções exigem argumentos. Um argumento é um valor que fornece entrada para a função. Se uma função exigir mais de um argumento, você deverá separá-los por uma vírgula. Por exemplo, considere a função DATA no seguinte exemplo de expressão:
=Format(Date(),"mmmm d, yyyy")
Este exemplo usa os dois argumentos:
-
O primeiro argumento é a função Date() que retorna a data atual. Quando não houver argumentos, será necessário adicionar parênteses à função.
-
O segundo argumento "mmmm d, yyyy", que é separado do primeiro argumento por uma vírgula, especifica uma cadeia de texto para instruir a função FORMATAR sobre a maneira de formatar o valor de data retornada. Observe que a cadeia de texto deve ser colocada entre aspas.
Essa expressão também ilustra que você, muitas vezes, pode aninhar o valor retornado por uma função como um argumento de outra função. Nesse caso, Date() funciona como um argumento.
Constantes
Uma constante é um item cujo valor não é alterado enquanto Access estiver em execução. As constantes True, False e Null são usadas em expressões.
Valores
Você pode usar valores literais nas suas expressões, como o número 1.254 ou a cadeia de caracteres "Insira um número entre 1 e 10". Também pode usar valores numéricos, que podem ser uma série de dígitos, incluindo um sinal e uma vírgula decimal, se necessário.
Ao usar valores de cadeias de texto, coloque-as entre aspas para ajudar a garantir que o Access as interprete corretamente. Em algumas circunstâncias, o Access fornece as aspas para você. Por exemplo, ao digitar texto em uma expressão para uma regra de validação ou para critérios de consulta, o Access delimita automaticamente as cadeias de texto com aspas.
Para usar valores de data/hora, delimite os valores entre sinais de jogo da velha (#). Por exemplo, #3-7-17#, #7-Mar-17# e #Mar-7-2017# são valores válidos de data/hora. Quando o Access encontrar um valor válido de data/hora delimitado pelos caracteres #, ele tratará automaticamente esse valor como um tipo de dados Data/Hora.
Comparação entre expressões do Access e fórmulas do Excel
Expressões do Access se parecem com fórmulas do Excel porque ambas utilizam elementos semelhantes para gerar um resultado. Tanto as fórmulas do Excel quanto as expressões do Access contêm um ou mais dos seguintes elementos:
-
Identificadores No Excel, os identificadores são os nomes das células individuais ou dos intervalos de células em uma pasta de trabalho, como A1, B3:C6, ou Sheet2!C32. No Access, os identificadores são os nomes dos campos de tabelas (como [Contacts]![First Name]), controles em formulários ou relatórios (como Forms![Task List]![Description]), ou as propriedades desses campos ou controles (como Forms![Task List]![Description].ColumnWidth).
-
Operadores No Access e no Excel, os operadores são usados para comparar valores ou realizar cálculos simples em seus dados. Exemplos incluem + (adição) ou - (subtração).
-
Funções Tanto no Access quanto no Excel, as funções e os argumentos são usados para realizar tarefas que você não pode cumprir usando apenas os operadores - por exemplo, você pode encontrar a média dos valores em um campo ou converter o resultado de um cálculo em um formato monetário. Entre os exemplos de funções encontram-se SUM e STDEV. Os argumentos são valores que fornecem informações às funções. Observe que Access e Excel possuem diversas funções que podem ser escolhidas, mas, às vezes, os nomes das funções similares nos programas são diferentes. Por exemplo, a função AVERAGE no Excel corresponde à função AVG no Access.
-
Constantes No Access e no Excel, as constantes são valores que não mudam , como números que não são calculados usando uma expressão.
-
Valores No Access e no Excel, os valores são usados de maneira semelhante.
As expressões do Access usam operadores e constantes que são semelhantes às usadas em fórmulas do Excel, mas as expressões do Access usam identificadores e funções diferentes. Enquanto as fórmulas do Excel geralmente são usadas apenas em células de planilha, as expressões do Access são usadas em muitos lugares no Access para uma ampla variedade de tarefas, incluindo estas:
-
Criar controles calculados em formulários e relatórios
-
Criar campos calculados em tabelas e consultas
-
Servir como critérios em consultas
-
Validar dados que estão sendo inseridos em um campo ou em um controle em um formulário
-
Agrupar dados em relatórios
Você pode usar uma expressão do Access ou uma fórmula do Excel para calcular valores numéricos ou de data/hora usando operadores matemáticos. Por exemplo, para calcular um preço com desconto para um cliente, é possível usar a fórmula do Excel =C2*(1-D2) ou a expressão do Access = [Unit Price]*(1-[Discount]).
Também é possível usar uma expressão do Access ou uma fórmula do Excel para combinar, dividir ou manipular cadeias de caracteres usando operadores de cadeia de caracteres. Por exemplo, para combinar um nome e um sobrenome numa cadeia de caracteres, você pode usar a fórmula do Excel =D3 & " " & D4 ou a expressão do Access = [First Name] & " " & [Last Name].