Um guia para a sintaxe de expressões

Um guia para a sintaxe de expressões

Ao usar o Microsoft Access, muitas vezes será preciso trabalhar com valores que não estão diretamente em seus dados. Por exemplo, você deseja calcular o imposto sobre vendas em um pedido ou calcular o valor total do pedido em si. Você pode calcular esses valores usando expressões. Para usar expressões, primeiro você deve gravá-las usando a sintaxe correta. A sintaxe é o conjunto de regras segundo as quais as palavras e os símbolos em uma expressão são corretamente combinados. As expressões do Access usam uma linguagem que, inicialmente, é um pouco difícil de ler. No entanto, com um bom entendimento da sintaxe de expressões e um pouco de prática, fica muito mais fácil.

Neste artigo

Visão geral de expressões

Componentes de expressões

Objetos, conjuntos e propriedades

Identificadores

Funções, operadores, constantes e valores

O limite de aninhamento para expressões em um banco de dados da Web é 65

Visão geral de expressões

Um expressão é uma combinação de alguns ou de todos estes elementos: funções internas ou definidas pelo usuário, identificadores, operadores, valores e constantes que são avaliados como um único valor.

Os componentes de uma expressão

Por exemplo, a expressão a seguir contém componentes comuns:

=Sum([Purchase Price])*0.08 
  • Sum() é uma função interna

  • [Purchase Price] é um identificador

  • * é um operador matemático

  • 0.08 é uma constante

Essa expressão pode ser usada na caixa de texto em um rodapé de formulário ou rodapé de relatório para calcular o imposto sobre vendas de um grupo de itens.

Expressões podem ser muito mais complexas ou muito mais simples do que esse exemplo. Por exemplo, esta expressão Booliano consiste em apenas um operador e uma constante:

>0

Essa expressão retorna:

  • True quando comparada com um número maior do que 0.

  • False quando comparada com um número menor do que 0.

Você pode usar essa expressão na propriedade Validation Rule de um campo de controle ou tabela para garantir que somente valores positivos sejam inseridos. As expressões são usadas em vários lugares para executar cálculos, manipular caracteres ou testar dados. Tabelas, consultas, formulários, relatórios e macros, todos têm propriedades que aceitam uma expressão. Por exemplo, você pode usar expressões nas propriedades Control Source e Default Value de um controle. Você também pode usar expressões na propriedade Validation Rule para um campo da tabela.

Início da Página

Componentes de expressões

Para criar uma expressão, você pode combinar identificadores usando funções, operadores, constantes e valores. Qualquer expressão válida deve conter pelo menos um identificador ou pelo menos uma função e também pode conter constantes ou operadores. Você também pode usar uma expressão como parte de outra expressão, geralmente, como um argumento de uma função. Isso é chamado de aninhamento de uma expressão.

  • Identificadores    O formato geral é:

    [Collection name]![Object name].[Property name]

    Você só precisa especificar partes suficientes de um identificador para torná-lo exclusivo no contexto da expressão. Não é incomum um identificador assuma a forma [Object name].

  • Funções    O formato geral é:

    Function(argument, argument)

    Normalmente, um dos argumentos é um identificador ou uma expressão. Algumas funções não precisam de argumentos. Antes de usar uma função específica, revise a sintaxe da função. Para saber mais, confira Funções (organizadas por categoria).

  • Operadores    O formato geral é:

    Identifier operator identifier

    Há exceções a esse formulário, como detalhado na seção Operadores.

  • Constantes    O formato geral é:

    Identifier comparison_operator  constant
  • Valores    Os valores podem ocorrer em vários locais em uma expressão.

Início da Página

Objetos, coleções e propriedades

Todas as tabelas, consultas, formulários, relatórios e campos em um banco de dados do Access são chamados individualmente de objetos. Cada objeto tem um nome. Alguns objetos já são nomeados, como a tabela Contatos em um banco de dados criado com o modelo de Contatos do Microsoft Office Access. Ao criar um novo objeto, você dá um nome a ele.

O conjunto de todos os membros de determinado tipo de objeto é conhecido como um conjunto. Por exemplo, o conjunto de todas as tabelas em um banco de dados é um conjunto. Alguns objetos que são membros de um conjunto no banco de dados também podem ser conjuntos que contêm outros objetos. Por exemplo, um objeto de tabela é uma coleção que contém objetos de campo.

Os objetos têm propriedades, que descrevem e fornecem uma maneira de alterar características do objeto. Por exemplo, um objeto de consulta tem uma propriedade Modo de Exibição Padrão que descreve e permite que você especifique como a consulta aparecerá quando for executada.

O diagrama a seguir ilustra o relacionamento entre conjuntos, objetos e propriedades:

Relações de coleções com objetos e propriedades

3 Uma propriedade

2 Um objeto

1 Um conjunto

Início da Página

Identificadores

Quando você usa um objeto, um conjunto ou uma propriedade em uma expressão, refira-se a esse elemento usando um identificador. Um identificador inclui o nome do elemento que você está identificando e também o nome do elemento ao qual ele pertence. Por exemplo, o identificador de um campo inclui o nome do campo e o nome da tabela à qual o campo pertence. Um exemplo de tal identificador é:

[Customers]![BirthDate]

Em alguns casos, o nome de um elemento funcionará por si só como identificador. Isso é verdadeiro quando o nome do elemento é exclusivo no contexto da expressão que você está criando. O restante do identificador está implícito no contexto. Por exemplo, se você estiver criando uma consulta que usa uma única tabela, os nomes de campos funcionarão como identificadores, pois os nomes dos campos em uma tabela devem ser exclusivos nessa tabela. Como você está usando apenas uma tabela, o nome da tabela é implícito em qualquer identificador usado na consulta para se referir a um campo.

Em outros casos, você deve ser explícito sobre as partes de um identificador para que uma referência funcione. Isso é verdadeiro quando um identificador não é exclusivo no contexto da expressão. Quando há ambiguidade, você deve indicar explicitamente partes suficientes do identificador para torná-lo exclusivo no contexto. Por exemplo, suponha que você esteja criando uma consulta que usa uma tabela denominada Produtos e uma tabela chamada Pedidos, e ambas as tabelas têm um campo chamado IDdoProduto. Nesse caso, o identificador que você usa na consulta para se referir a um campo IDdoProduto deve incluir o nome de tabela além do nome do campo. Por exemplo:

[Products]![ProductID]

Operadores de identificador    Há três operadores que você pode usar em um identificador:

  • O operador de negação (!)

  • O operador de ponto (.)

  • O operador de colchetes ([ ])

Você usa esses operadores colocando cada parte do identificador entre colchetes e unindo-as usando um operador de negação ou de ponto. Por exemplo, um identificador para um campo chamado Sobrenome em uma tabela chamada Funcionários pode ser expressado como [Employees]![Last Name]. O operador de negação informa ao Access que se trata de um objeto que pertence ao conjunto que precede o operador de negação. Nesse caso, [Sobrenome] é um objeto de campo que pertence ao conjunto [Funcionários], que também é um objeto de tabela.

Especificamente, você nem sempre precisa digitar colchetes ao redor de um identificador ou identificador parcial. Se houver sem espaços ou outros caracteres especiais no identificador, o Access adicionará automaticamente os colchetes quando ler a expressão. No entanto, é recomendável digitar os colchetes por conta própria Isso ajuda a evitar erros e também funciona como uma indicação visual de que determinada parte de uma expressão é um identificador.

Início da Página

Funções, operadores, constantes e valores

Para criar uma expressão, você precisa de mais do que identificadores. É necessário realizar uma ação de algum tipo. Você usa funções, operadores e constantes para executar ações em uma expressão.

Funções

Uma função é um procedimento que você pode usar em uma expressão. Algumas funções, como Data, não exigem entrada para funcionar. No entanto, a maioria das funções exige entradas, chamadas de argumentos.

No exemplo no início deste artigo, a função PartData usa dois argumentos: um argumento interval (com um valor "yyyy") e um argumento date (com um valor de [Customers]![BirthDate]). A função PartData requer pelo menos dois argumentos (interval e date), mas aceita até quatro argumentos.

A lista a seguir mostra algumas funções que são comumente usadas em expressões. Clique no link de cada função para obter mais informações sobre a sintaxe que você usa com essa função.

  • A função Data é usada para inserir a data atual do sistema em uma expressão. É comumente utilizado com a função Formatar e também é usado em identificadores de campo para campos que contêm dados de data/hora.

    =Date()
  • A função PartData é usada para determinar ou extrair parte de uma data, geralmente, uma data obtida de um identificador de campo, mas, às vezes, um valor de data que é retornado por outra função, como Data.

    DatePart ( "yyyy", Date())
  • A função DifData é usada para determinar a diferença entre duas datas, geralmente, entre uma data obtida de um identificador de campo e uma data que é obtida usando a função Data.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • A função Formatar é usada para aplicar um formato a um identificador, além de aplicar um formato aos resultados de outra função.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • A função SeImed é usada para avaliar uma expressão como verdadeira ou falsa e retornar um valor especificado se a expressão for avaliada como verdadeira e outro valor especificado se a expressão for avaliada como falsa.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • A função EmSeq é usada para procurar a posição de um caractere ou cadeia de caracteres dentro de outra cadeia de caracteres. A cadeia de caracteres que é pesquisada normalmente é obtida de um identificador de campo.

    InStr(1,[IPAddress],".")
  • Esquerda, Meio e Direita Essas funções são usadas para extrair os caracteres de uma cadeia de caracteres, começando pelo caractere mais à esquerda, uma posição específica no meio ou com o caractere mais à direita. Elas são usadas em conjunto com a função EmSeq. A cadeia de caracteres da qual essas funções extraem caracteres normalmente obtida de um identificador de campo.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Para obter uma lista de funções, confira o artigo Funções (organizadas por categoria).

Operadores

Um operador é uma palavra ou um símbolo que indica uma relação específica aritmética ou lógica entre os elementos de uma expressão. Os operadores podem ser:

  • Aritmético, como o sinal de adição (+).

  • Comparação, como o sinal de igualdade (=).

  • Lógico, como Not.

  • Concatenação, como &.

  • Especial, como Like.

Operadores são geralmente usados para indicar uma relação entre dois identificadores. As tabelas a seguir descrevem os operadores que você pode usar em expressões do Access.

Aritmético   

Você usa os operadores aritméticos para calcular um valor de dois ou mais números ou trocar o sinal de um número positivo para negativo.

Operador

Finalidade

Exemplo

+

Somar dois números.

[Subtotal]+[ImpostoVendas]

-

Encontrar a diferença entre dois números ou indicar o valor de um número negativo.

[Preço]-[Desconto]

*

Multiplicar dois números.

[Quantidade]*[Preço]

/

Dividir o primeiro número pelo segundo número.

[Total]/[ContagemItens]

\

Arredondar ambos os números para números inteiros, dividir o primeiro número pelo segundo número e truncar o resultado como um inteiro.

[Registrado]\[Salas]

Mod

Dividir o primeiro número pelo segundo número e retornar somente o resto.

[Registrado] Mod [Salas]

^

Elevar um número à potência de um expoente.

Número ^ Expoente

Comparação    

Você usa os operadores de comparação para comparar valores e retornar um resultado é verdadeiro, falso ou nulo (um valor desconhecido).

Operador

Finalidade

<

Determine se o primeiro valor é menor que o segundo valor.

<=

Determine se o primeiro valor é menor ou igual ao segundo valor.

>

Determine se o primeiro valor é maior que o segundo valor.

>=

Determine se o primeiro valor é maior ou igual ao valor do segundo.

=

Determine se o primeiro valor é igual ao segundo valor.

<>

Determine se o primeiro valor não é igual ao segundo valor.

Em todos os casos, se o primeiro ou o segundo valor for Null, o resultado também será Null. Como Null representa um valor desconhecido, o resultado de qualquer comparação com Null também será desconhecido.

Lógico    

Você usa os operadores lógicos para combinar dois valores e retornar um resultado verdadeiro, falso ou nulo. Você também pode ver os operadores lógicos mencionados como operadores Boolianos.

Operador

Uso

Descrição

And

Expr1 And Expr2

Verdadeiro quando Expr1 e Expr2 são verdadeiras.

Or

Expr1 Or Expr2

Verdadeiro quando Expr1 ou Expr2 é verdadeira.

Eqv

Expr1 Eqv Expr2

Verdadeiro quando Expr1 e Expr2 são verdadeiras ou Expr1 e Expr2 são falsas.

Not

Not Expr

Verdadeiro quando Expr não é verdadeira.

Xor

Expr1 Xor Expr2

Verdadeiro quando Expr1 é verdadeira ou Expr2 é verdadeira, mas não ambos.

Concatenação    

Você usa os operadores de concatenação para combinar dois valores de texto em uma cadeia de caracteres.

Operador

Uso

Descrição

&

string1 & string2

Combina duas cadeias de caracteres para formar uma cadeia de caracteres.

+

string1 + string2

Combina duas cadeias de caracteres para formar uma cadeia de caracteres e propagada valores nulos.

Especial    

Você usa os operadores especiais conforme descrito na tabela a seguir.

Operador

Descrição

Para saber mais

Is Null or Is Not Null

Determina se um valor é Nulo ou Não Nulo.

Like "pattern"

Faz a correspondência com valores de cadeia de caracteres usando os operadores curinga ? e *.

Operador As

Between val1 And val2

Determina se um valor numérico ou de data está em um intervalo.

Operador Between...And

In(string1,string2...)

Determina se um valor de cadeia de caracteres está contido em um conjunto de valores de cadeia de caracteres.

Operador In

Constantes

Uma constante é um valor conhecido que não é alterado e você pode usar em uma expressão. Há quatro constantes comumente usadas no Access:

  • True indica algo que é logicamente verdadeiro.

  • False indica algo que é logicamente falso.

  • Null indica a falta de um valor conhecido.

  • "" (empty string) indica um valor que é conhecido como vazio.

As constantes podem ser usadas como argumentos para uma função e podem ser usadas em uma expressão como parte de um critério. Por exemplo, você pode usar a constante de cadeia de caracteres vazia ("") como parte de um critério de uma coluna em uma consulta para avaliar os valores dos campos dessa coluna, inserindo o seguinte como critério: <>"". Neste exemplo, <> é um operador e "" é uma constante. Usados juntos, indicam que o identificador ao qual são aplicados deve ser comparado a uma cadeia de caracteres vazia. A expressão resultante é verdadeira quando o valor do identificador é algo diferente de uma cadeia de caracteres vazia.

Tenha cuidado ao usar a constante Null. Na maioria dos casos, o uso de Null em conjunto com um operador de comparação resultará em um erro. Se você quiser comparar um valor a Null em uma expressão, use o operador Is Null ou Is Not Null.

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. Na ausência de um sinal, o Access pressupõe um valor positivo. Para tornar um valor negativo, inclua o sinal de subtração (-). Você também pode usar notação científica. Para fazer isso, inclua "E" ou "e" e o sinal do expoente (por exemplo, 1.0E-6).

Ao usar 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.

Por exemplo, se você digitar o texto Paris, o Access exibirá "Paris" na expressão. Se quiser que uma expressão produza uma cadeia de caracteres incluída de fato entre aspas, delimite a cadeia de caracteres aninhada entre aspas simples (') ou três conjuntos de aspas duplas ("). Por exemplo, as expressões a seguir são equivalentes:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

Para usar valores de data/hora, delimite os valores entre sinais de jogo da velha (#). Por exemplo, #7-3-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.

Início da Página

O limite de aninhamento para expressões em um banco de dados da Web é 65.

As expressões aninhadas com mais de 65 níveis de profundidade não funcionam no navegador. Portanto, não use expressões desse tipo em um banco de dados da Web do Access. Você não recebe mensagens de erro: a expressão simplesmente não funciona.

O uso dos operadores &, AND e OR pode criar, no servidor, níveis de aninhamento adicionais que não são refletidos no cliente Access. Por exemplo, a expressão "a" & "b" & "c" não é aninhada no Construtor de Expressões. Porém, no SharePoint, ela se torna concatenate.Db("a", concatenate.Db("b", "c") ). Essa conversão cria um nível de aninhamento. O uso de muitos operadores &, AND ou OR consecutivos em apenas uma expressão pode fazer com que o limite de aninhamento do servidor (65) seja excedido. Nesse ponto, a expressão não funcionará no navegador.

Início da Página

Consulte Também

Usar o Construtor de Expressões

Introdução às expressões

Criar uma expressão

Exemplos de expressões

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×