Um guia para a sintaxe de expressões

Ao usar o Microsoft Access, você encontrará situações em que precisa trabalhar com valores que não residem diretamente nos dados. Por exemplo, talvez você precise 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 escrevê-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.

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 escrever essa expressão como ParteData("yyyy",[Clientes]![DataDeNascimento]). Essa expressão consiste na função PartData e em dois valores de argumento: "yyyy" e [Clientes]![DataDeNascimento].

Vamos examinar essa expressão mais detalhadamente.

Exemplo de expressão

1. DatePart é uma função que examina uma data e retorna uma parte específica.

Dica : A partir do Access 2010, o Construtor de Expressões tem o IntelliSense. Assim, você pode ver quais argumentos a expressão requer.

2. O argumento de intervalo informa ao Access que parte da data retornar. Nesse caso, "yyyy" informa ao Access que você deseja que apenas a parte de ano da data seja retornada.

3. O argumento date informa ao Access onde procurar o valor de data. Nesse caso, [Clientes]![DataDeNascimento] instrui o Access para procurar a data no campo DataDeNascimento da tabela Clientes.

Como você pode ver, as expressões do Access usam uma linguagem que, inicialmente, é um pouco difícil de ler. Com um bom entendimento da sintaxe de expressões e um pouco de prática, fica muito mais fácil.

Há alguns conceitos importantes que você deve compreender antes de tentar escrever expressões. Este artigo apresenta os conceitos que você precisa compreender para usar a sintaxe correta e descreve a sintaxe que você usa em expressões.

Este artigo não aborda a sintaxe SQL (Structured Query Language) nem serve como guia da sintaxe do VBA (Visual Basic for Applications).

Neste artigo

Introdução

Objetos, conjuntos e propriedades

Identificadores

Funções, operadores e constantes

Introdução

Para criar uma expressão, você pode combinar identificadores usando funções, operadores e constantes. 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.

  • Identificadores em expressões    A forma geral de um identificador em uma expressão é [Nome do conjunto]![Nome do objeto].[Nome da propriedade].

    Observação : Você só precisa especificar partes suficientes de um identificador para torná-lo exclusivo no contexto da expressão. Não é incomum um identificador assumir a forma [Nome do objeto].

  • Funções em expressões    A forma geral de uma expressão que usa uma função é Função(argumento, argumento), em que um dos argumentos é geralmente um identificador ou uma expressão.

    Observação : Algumas funções não precisam de argumentos.

    Antes de usar uma função específica, confira o artigo de ajuda correspondente para obter informações específicas sobre a sintaxe da função.

  • Operadores em expressões    A forma geral de uma expressão que usa um operador é Identificadoroperadoridentificador. Há exceções a esse formulário, como detalhado nas tabelas mostradas na seção Operadores.

  • Constantes em expressões    A forma geral de uma expressão que usa uma constante é Identificadoroperador_comparação constante.

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

1. Uma coleção

2. Um objeto

3. Uma propriedade

Início da Página

Identificadores

Quando você usa um objeto, um conjunto ou uma propriedade em uma expressão, se referir 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 é encontrado no exemplo anterior de uma expressão: [Clientes]![DataDeNascimento].

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 IDProduto. Nesse caso, o identificador que você usa na consulta para se referir a um campo de ID do produto deve incluir o nome de tabela além do nome do campo. Por exemplo, [Produtos]![IDProduto].

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

  • O operador bang (!)

  • O operador ponto (.)

  • O operador de colchetes ([])

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

Observação : 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 e constantes

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 Date, não exigem entrada para funcionar. No entanto, a maioria das funções exige entrada, chamada 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 [Clientes]![DataDeNascimento]). A função PartData requer pelo menos dois argumentos (intervalo e data), mas pode aceitar até quatro argumentos.

Observação : Quando uma função tem mais de um argumento, os argumentos são separados por vírgulas.

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.

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

  • PartData 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 Date.

  • DifData 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 Date.

  • Format A função Format é usada para aplicar um formato a um identificador, além de aplicar um formato aos resultados de outra função.

  • IIf A função IIf é 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.

  • InStr A função InStr é usada para procurar a posição de um caractere ou string dentro de outra cadeia de caracteres. A cadeia de caracteres que é pesquisada normalmente é obtida de um identificador de campo.

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

Para obter uma lista categorizada 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 (+).

  • Operadores de comparação, como o sinal de igual (=).

  • Operadores lógicos, tais como Not.

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.

Operadores aritméticos    

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

Objetivo

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

Operadores de comparação    

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

Operador

Objetivo

<

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 nulo, o resultado também será nulo. Como Null representa um valor desconhecido, o resultado de qualquer comparação com Null também é desconhecido.

Operadores lógicos    

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.

Ou

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.

Operadores de 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.

Operadores especiais    

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

Operador

Descrição

Para obter mais informações

Is Null ou Is Not Null

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

Como "padrão"

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

Operador Como

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.

  • "" (cadeia de caracteres vazia)    indica um valor que é conhecido como vazio.

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.

Observação : 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.

Para obter mais informações sobre como usar expressões, confira o artigo Criar uma expressão.

Início da Página

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.

×