Criar uma expressão

Mulher usando computador e PDA

Aplica-se ao
Microsoft Office Access 2003
Microsoft Access 2000 e 2002

Muitas vezes, você precisa de informações que não estão diretamente disponíveis em um campo em seu banco de dados. Por exemplo, você pode ter a necessidade de calcular os impostos incidentes sobre um pedido, ou mesmo calcular o próprio total do pedido. Em outra situação, você pode precisar definir critérios para uma consulta ou um filtro — critérios são informações que determinam com que registros você trabalhará. Ou você pode ter de definir um valor padrão para um campo ou controle, ou uma regra de validação para um campo ou tabela. Em todos esses casos, você usa uma expressão.

Este artigo apresenta as expressões. Você aprenderá o que é uma expressão e por que e onde usá-las. Você também aprenderá sobre o Construtor de Expressões, uma ferramenta do Access que pode ajudá-lo a construir expressões. Finalmente, você aprenderá como criar uma expressão, seja com o Construtor de Expressões, seja desde o início.

Neste artigo

O que é uma expressão?

Por que usar expressões?

Onde e como usar expressões

Usando o Construtor de Expressões

Usando expressões para fins práticos

Tabela de operadores

O que é uma expressão?

No Access, uma expressão é o equivalente a uma fórmula no Excel. Uma expressão consiste em um número de elementos possíveis que, isolados ou combinados, são usados para produzir um resultado. Os elementos podem incluir identificadores (os nomes dos campos, controles ou propriedades), operadores, como + (mais) ou - (menos), funções, constantes e valores. Você usa uma expressão para executar um cálculo, recuperar o valor de um controle, definir critérios para uma consulta, definir regras, criar controles e campos calculados e definir um nível de grupo para um relatório.

Eis alguns exemplos de expressões.

Expressão Finalidade
=[DataDeEntrega]-[DataDeEnvio] Calcula a diferença entre os valores de dois controles de caixa de texto em um relatório
Data( ) Define o valor padrão de um campo em uma tabela para a data atual
PreçoTotal: CMoeda([DetalhesDoPedido].PreçoUnitário*[Quantidade]*(1-[Desconto])/100)*100 Cria um campo calculado em uma consulta
Entre #01.01.05# E #31.12.05# Usada para definir os critérios de um campo Data/Hora em uma consulta
=[Subformulário Pedidos].Form!SubtotalDoPedido Retorna o valor do controle SubtotalDoPedido 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

Como você pode ver por esses exemplos de expressões, uma expressão no Access não é apenas um cálculo. As expressões são usadas com diferentes finalidades.

Note que os exemplos de expressões acima são compostos de elementos diferentes. Por exemplo, algumas expressões começam com o operador =. Ao calcular um valor para um controle em um formulário ou relatório, você usa o operador = para iniciar a expressão. Em outros casos, não se utiliza o operador =. Por exemplo, ao inserir uma expressão em uma consulta, ou na propriedade DefaultValue ou ValidationRule de um campo ou controle, o operador = não é usado.

Identificadores

Um identificador é o nome de um campo, propriedade ou controle. Você usa um identificador em uma expressão para se referir ao valor associado ao campo, propriedade ou controle. Por exemplo, considere a expressão =[DataDaSolicitação]-[DataDeEnvio]. Essa expressão subtrai o valor do campo ou controle DataDeEnvio do valor do campo ou controle DataDaSolicitação. Nessa expressão, tanto DataDaSolicitação como DataDeEnvio são identificadores.

Operadores

O Access aceita vários operadores, desde os operadores aritméticos básicos, como +, -, * (multiplicação), / (divisão), até operadores de comparação para confrontação de valores, operadores de texto para concatenação de texto, operadores lógicos para determinação de valores verdadeiros ou falsos, e outros operadores específicos do Access. Para obter detalhes sobre os operadores, consulte a seção Tabela de operadores neste artigo.

Funções

As funções são procedimentos internos que você pode usar nas expressões. Você as usa para executar cálculos, manipular textos e datas, resumir dados e executar uma grande variedade de operações. Por exemplo, uma das funções mais usadas é a função Data. A função Data retorna a data atual. Você poderia usá-la em uma expressão que define o valor padrão de um campo em uma tabela. Desse modo, sempre que um novo registro fosse adicionado, o campo teria como padrão a data atual.

Algumas funções são argumentos. Um argumento é um valor que serve como entrada para a função. Se a função requer mais de um argumento, os argumentos são separados por vírgulas. Por exemplo, considere a função Formatar no seguinte exemplo de expressão:

=Formatar(Data(),"mmmm d, aaaa")

Nesse exemplo, fornecemos dois argumentos. O primeiro é a função Data. Com freqüência, você pode usar o valor que uma função retorna como argumento para outra função. Nesse caso, usamos a data atual, retornada pela função Data. O segundo argumento, separado do primeiro por uma vírgula, é uma seqüência de texto que informa à função Formatar como formatar a data. Observe que a seqüência de texto está entre aspas. Como regra geral, ao informar texto como argumento, coloque-o entre aspas.

O Access tem suporte a várias funções internas.

Constantes

Uma constante é um item nomeado cujo valor mantém-se constante durante a execução do Access. As constantes mais usadas em expressões são Verdadeiro, Falso e Nulo. Você também pode definir suas próprias constantes no Visual Basic for Applications (VBA), utilizado em procedimentos VBA. O VBA é a linguagem de programação usada pelo Access.

 Observação   Não é possível usar constantes do Microsoft Visual Basic em funções personalizadas usadas em expressões. Por exemplo, o Visual Basic possui constantes para os dias da semana: vbSunday representa domingo, vbMonday representa segunda-feira etc. Cada constante possui um valor numérico correspondente: o valor numérico de vbSunday é 1, de vbMonday é 2 etc. Não é possível usar essas constantes em uma função personalizada chamada por uma expressão. Você deve usar os valores numéricos.

Valores

Você pode empregar valores literais nas expressões. Os valores numéricos podem ser uma série de dígitos, incluindo um sinal e um ponto decimal, se necessários. Na falta de um sinal, o Access assume que o valor é positivo. Para tornar negativo um valor, inclua o sinal de menos (-). Você também pode usar notação científica. Para tal, inclua E (em maiúscula) ou e (minúscula), e o sinal do expoente (por exemplo, 1.0E-6).

Os valores de seqüência de texto devem ser colocados entre aspas. Em algumas situações, o Access as coloca automaticamente. Por exemplo, ao digitar texto em uma expressão para uma regra de validação ou para um critério de consulta, o Access inclui as aspas automaticamente.

Por exemplo, se você digitar o texto Paris, o Access exibirá "Paris" na expressão. Se você quiser que uma expressão produza uma seqüência que apareça entre aspas, coloque a seqüência aninhada entre aspas simples (') ou entre três conjuntos de aspas duplas ("). Por exemplo, as expressões abaixo são equivalentes:

Forms![Contatos]![Cidade].DefaultValue = ' "Paris" '
Forms![Contatos]![Cidade].DefaultValue = " " "Paris" " "

Os valores de Data/Hora devem estar entre sinais numéricos (#). Por exemplo, #7-3-05#, #7-Mar-05# e #Mar-7-2005# são todos valores válidos para Data/Hora. Quando o Access encontra um valor válido de Data/Hora cercado pelo caractere #, automaticamente trata o valor como um tipo de dado Data/Hora.

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

Por que usar expressões?

No Access, você usa expressões com freqüência e por vários motivos. Por exemplo, para calcular um valor de um campo em um formulário, você usa uma expressão. Digamos que você queira calcular o valor total de um item em uma fatura. Em geral, não se armazena o valor total do item no banco de dados. Em vez disso, você o calcula com base em dois itens que devem estar armazenados no banco de dados  — quantidade e preço.

=CMoeda([Quantidade]*[Preço])

Essa expressão multiplica a quantidade pelo preço e usa a função CMoeda (converter para moeda) para converter o resultado para o tipo de dado Moeda.

Em geral, é utilizado um controle de caixa de texto para receber o valor calculado, mas você pode usar qualquer outro controle que tenha a propriedade OrigemDoControle. Um controle que possui uma expressão como sua origem é chamado de controle calculado. Se o controle é uma caixa de texto, você pode digitar a expressão diretamente nessa caixa de texto. Você também pode digitá-la na propriedade OrigemDoControle na folha de propriedades.

Tipos Diferentes tipos de expressões em balões

Além de usar expressões para calcular um valor necessário que não esteja armazenado no banco de dados, também podemos usá-las para fornecer informações a uma consulta. Por exemplo, digamos que você deseje consultar as vendas de produtos enviados dentro de um determinado intervalo de datas. Você pode criar uma expressão de critério que use o operador Entre para definir o intervalo de datas. O Access retorna somente as linhas que atendam ao critério, com a data de envio dentro do intervalo especificado:

Entre #01.01.04# E #31.12.04#

Um bom lugar para calcular o valor total de um item é na consulta que fornece o formulário ou relatório com os dados. Uma coluna, em uma consulta, cujos dados provêm do resultado um cálculo é um chamado de campo calculado. Por exemplo, a expressão a seguir, em uma consulta, calcula os valores totais do item com a aplicação de um desconto:

PreçoTotal: CMoeda([Detalhes do Pedido].[PreçoUnitário]*[Quantidade]*(1-[Desconto])/100)*100

A expressão nomeia a coluna de resultado como PreçoTotal.

Outra boa finalidade de uma expressão é fornecer um valor padrão para um campo em uma tabela ou para um controle. Por exemplo, se você possui um campo de data para o qual deseja definir a data atual como valor padrão, digite Data() na caixa de propriedade Valor Padrão desse campo. Você também pode usar uma expressão para definir uma regra de validação, como, por exemplo, uma regra que exija que a data digitada seja igual ou superior à data atual. Nesse caso, você definirá o valor da caixa de propriedade Regra de Validação como >= Data().

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

Onde e como usar expressões

Você pode usar expressões em vários lugares. Por exemplo, tabelas, consultas, formulários, relatórios e macros, todos possuem lugares em que você pode usar uma expressão. Além disso, quando você escreve códigos VBA para um procedimento de evento ou para um módulo, pode usar expressões que são semelhantes àquelas utilizadas em objetos do Access, como uma tabela ou consulta.

Nas expressões, os nomes de campos e controles devem estar entre colchetes; por exemplo, [PreçoUnitário]. Se você digitar um nome que não inclua espaços ou caracteres especiais, o Access automaticamente o coloca entre colchetes. Se o nome incluir espaços ou caracteres especiais, você deverá digitar os colchetes.

Para dar um nome a um controle calculado, defina a propriedade Nome. O nome deve ser diferente de todos os nomes de controle no formulário ou relatório. Também deve ser diferente de qualquer nome de campo ou controle usado na expressão para aquele controle e também diferente do nome de campo na tabela ou consulta base. Você pode usar esse nome quando quiser se referir ao valor no controle em outras expressões no formulário ou relatório.

Os lugares mais comuns para incluir expressões são os seguintes:

    Em um controle de caixa de texto em um formulário ou relatório

As expressões são usadas em um controle de caixa de texto para criar um controle calculado. Por exemplo, digamos que você queira incluir um subtotal que some todos os itens em um formulário de pedido. O subtotal seria algo como:

Subtotal em um formulário de pedido

Para calcular o subtotal, você posiciona um controle de caixa de texto no formulário e define a sua propriedade OrigemDoControle com a seguinte expressão:

=Soma([PreçoTotal])

A função Soma calcula o total para um conjunto de valores da fonte de registros  — nesse caso, a coluna denominada PreçoTotal.

Para digitar uma expressão em um controle de caixa de texto    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários.
  2. Clique no formulário e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique na caixa de texto para selecioná-la.
  4. No menu Exibir, clique em Propriedades para exibir a folha de propriedades da caixa de texto.

O Access exibe a folha de propriedades da caixa de texto.

  1. Altere a propriedade OrigemDoControle para =, seguida da expressão, ou clique no botão Construirimagem do botão, à direita da caixa de propriedade, para criar uma expressão usando o Construtor de expressões . Por exemplo, para calcular o subtotal mostrado acima, digite =Soma([PreçoTotal]).

A folha de propriedades ficará como esta:

Folha de propriedades de SubtotalDoPedido exibindo a propriedade OrigemDoControle

  1. Feche a folha de propriedades.

    Na célula de critério na grade de design de uma consulta

Pode-se usar uma expressão para definir critérios em uma consulta. O Access retorna somente aquelas linhas que atendam aos critérios. Por exemplo, digamos que você queira consultar todos os pedidos que tenham sido enviados em 2004. Para incluir o critério, você digita a seguinte expressão na célula Critérios da coluna DataDeEnvio na consulta:

Entre #01.01.04# E #31.12.04#

A coluna DataDeEnvio será a seguinte:

Usando o operador Entre na grade de design de consulta

A expressão é usada para verificar se a data de envio está dentro do intervalo de datas especificado. Observe que os valores de data estão entre sinais numéricos (#). O Access trata um valor entre sinais numéricos como um tipo de dado Data/Hora.

Para digitar o critério na grade de design da consulta    

  1. Na janela Banco de Dados, em Objetos, clique em Consultas.
  2. Clique na consulta e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique na célula de critério da coluna em que será verificado o atendimento ao critério.
  4. Digite a expressão de critério ou clique no botão ConstruirImagem do botão, na barra de ferramentas, para criar uma expressão usando o Construtor de expressões.

 Observação   Não inicie a expressão de critério com o operador =.

Se precisar de uma área maior para inserir a expressão, pressione SHIFT+F2 para exibir a caixa Zoom.

caixa zoom exibindo a expressão

    Na célula de campo na grade de design de uma consulta

Pode-se usar expressões para criar um campo calculado em uma consulta. Por exemplo, digamos que você queira exibir o ano em que um pedido foi enviado, como parte da consulta. Para criar o campo calculado, insira a seguinte expressão na célula de campo de uma coluna vazia em sua consulta:

Ano: Formatar([DataDeEnvio],"aaaa")

A expressão usa a função Formatar para extrair o ano do campo DataDeEnvio e para formatá-la com quatro dígitos. Observe que a coluna de resultado é nomeada como Ano, pelo fato de precedermos a expressão com Ano:.

Campo calculado na consulta, exibindo o ano

Para inserir um campo calculado no modo de exibição de design da consulta    

  1. Na janela Banco de Dados, em Objetos, clique em Consultas.
  2. Clique na consulta e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique na célula de campo da coluna onde deseja criar o campo calculado.
  4. Digite a expressão ou clique no botão ConstruirImagem do botão, na barra de ferramentas, para criar uma expressão usando o Construtor de expressões . Inicie a expressão com um nome seguido de dois-pontos. Por exemplo, digite PreçoTotal: para iniciar uma expressão que crie um campo calculado denominado PreçoTotal.

    Na propriedade ValidationRule de um campo em uma tabela

Outro lugar em que se pode usar uma expressão é a propriedade ValidationRule de um campo, em uma tabela. Digamos que você queira impor uma regra que obrigue que o campo [Unidades Em Estoque] na tabela Inventário tenha valor superior ou igual a zero. Em outras palavras, que o inventário nunca seja um número negativo. Você pode fazê-lo usando a expressão mostrada na seguinte ilustração.

Regra de validação para Unidades Em Estoque

Para inserir uma regra de validação para um campo em uma tabela    

  1. Na janela Banco de Dados, em Objetos, clique em Tabelas.
  2. Clique na tabela e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique no nome do campo desejado.
  4. Clique na caixa de propriedade Regra de Validação.
  5. Digite a expressão ou clique no botão Construirimagem do botão, à direita da caixa de propriedade, para criar uma expressão usando o Construtor de expressões.

 Observação   Não inicie a expressão com o operador = ao criar uma regra de validação.

Um ponto importante que deve ser lembrado ao se trabalhar com expressões de validação de regra é que elas devem resultar em Verdadeiro para que o valor seja aceito. Assim, nesse exemplo, o valor de [Unidades em Estoque] deve ser >=0. Caso não o seja, o Access exibe o texto mostrado na caixa de propriedade Texto de Validação. Se você não informar nenhum texto na caixa de propriedade Texto de Validação, o Access exibirá sua própria mensagem, indicando que o valor digitado é inválido em razão da regra de validação do campo.

    Na propriedade ValidationRule de um controle

Você também pode definir a propriedade ValidationRule para um controle. Por exemplo, suponhamos que você use um formulário para digitar o intervalo de datas para um relatório e queira se certificar de que a data de início não seja anterior a #1/1/2004#. Você pode definir as propriedades ValidationRule e ValidationText, para a caixa de texto em que você digita a data de início, da seguinte maneira:

Propriedade Configuração
ValidationRule >=#1/1/2004#
ValidationText Não é possível digitar data anterior a 1/1/2004.

Se você tentar digitar uma data anterior a #1/1/2004#, será exibida uma mensagem. Clicando em OK, você retorna para a caixa de texto.

Caixa de mensagem com texto de validação para a caixa de diálogo Vendas por Ano

Para incluir uma regra de validação para um controle    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários ou em Relatórios
  2. Clique no formulário ou relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique no controle para selecioná-lo.
  4. Clique no botão Propriedades na barra de ferramentas.

O Access exibe a folha de propriedades do controle.

  1. Clique na guia Todas e clique na caixa de propriedade Regra de Validação.
  2. Digite a expressão ou clique no botão Construirimagem do botão, à direita da caixa de propriedade, para criar uma expressão usando o Construtor de expressões.

 Observação   Não inicie a expressão com o operador = ao criar uma regra de validação.

  1. Opcionalmente, altere a propriedade ValidationText.
  2. Feche a folha de propriedades.

Se você digitar um valor não permitido pela regra de validação, pressione ESC com o ponto de inserção no controle para retornar ao valor padrão ou ao valor original. Em seguida, digite um valor que atenda a regra de validação.

Se a propriedade OrigemDoControle do controle é um campo em uma tabela, é melhor definir a propriedade ValidationRule do campo em complemento àquela do controle. Desse modo, a regra será sempre exigida, independentemente do formulário ou consulta usado para atualizar o campo.

    Na propriedade DefaultValue para um campo em uma tabela

Você pode usar uma expressão para armazenar um valor padrão para um campo em uma tabela. Por exemplo, digamos que você queira inserir automaticamente a data e hora no campo DataDoPedido quando adicionar um novo registro. Uma expressão como esta poderia ser usada:

Função Now na propriedade valor padrão do campo

A expressão usa a função Now para inserir a data e hora no campo DataDoPedido.

Para inserir um valor padrão em um campo em uma tabela    

  1. Na janela Banco de Dados, em Objetos, clique em Tabelas.
  2. Clique na tabela e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique no nome do campo desejado.
  4. Clique na caixa de propriedade Valor Padrão.
  5. Digite a expressão ou clique no botão Construirimagem do botão, à direita da caixa de propriedade, para criar uma expressão usando o Construtor de expressões.

Se um controle estiver vinculado a um campo na tabela, e o campo possuir um valor padrão, o valor padrão do controle terá precedência sobre este.

    Na propriedade DefaultValue em um controle

Outro lugar em que você pode inserir uma expressão é a propriedade DefaultValue de um controle. A propriedade DefaultValue de um controle funciona de modo semelhante à propriedade DefaultValue de um campo em uma tabela. Por exemplo, se você quiser definir a data atual como valor padrão para uma caixa de texto DataDoPedido, use uma expressão como esta:

Definindo a propriedade Default Value para a caixa de texto DataDoPedido

Essa expressão usa a função Date para retornar a data atual, mas não a hora. Se um controle de caixa de texto estiver vinculado a um campo na tabela, e o campo possuir um valor padrão, o valor padrão do controle terá precedência sobre este. É bom sempre definir a propriedade DefaultValue para o campo na tabela, já que o valor padrão é sempre aplicado, exceto quando um controle o substitui.

Para incluir um valor padrão para um controle    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários ou em Relatórios
  2. Clique no formulário ou relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique no controle para selecioná-lo.
  4. Clique no botão Propriedades na barra de ferramentas.

O Access exibe a folha de propriedades do controle.

  1. Clique na guia Todas e clique na caixa de propriedade DefaultValue.
  2. Digite a expressão ou clique no botão Construirimagem do botão, à direita da caixa de propriedade, para criar uma expressão usando o Construtor de Expressões.
  3. Feche a folha de propriedades.

    Na coluna Condição em uma macro

Em alguns casos, pode ser desejável executar uma ação ou série de ações em uma macro somente se uma determinada condição for verdadeira. Por exemplo, digamos que você queira que uma ação seja executada somente quando o valor da caixa de texto Contador for 10. Você usa uma expressão para definir a condição na coluna Condição da macro.

Coluna Condição em uma macro

Para inserir uma condição para uma ação de macro    

  1. Na janela Banco de Dados, em Objetos, clique em Macros.
  2. Clique na macro e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique na célula Condição para a ação de macro desejada.

Se a coluna Condição não estiver visível, no menu Exibir, clique em Condições.

  1. Digite uma expressão condicional.
  2. Feche a macro.

Como na propriedade ValidationRule, a expressão na coluna Condição é uma expressão condicional. Ela deve resultar em Verdadeiro ou Falso. A ação é executada somente quando a condição é Verdadeiro.

    Na caixa Classificação e Agrupamento

Você usa a caixa Classificação e Agrupamento para definir níveis de grupo e opções de classificação para um relatório. Você pode agrupar por um campo ou por uma expressão. Por exemplo, digamos que você queira agrupar o relatório por país, em seguida por nome e, finalmente, por código do pedido. Se as informações do nome estiverem armazenadas em campos separados — Sobrenome e Nome — será necessário agrupar por uma expressão como a mostrada na ilustração a seguir.

Caixa Classificação e Agrupamento com expressão para os campos Nome e Sobrenome

Essa expressão usa o operador "e comercial" (&) para combinar os valores de texto (isso é chamado de concatenação de seqüências). Para obter mais informações sobre a combinação de valores de texto, consulte a seção Combinando valores de texto neste artigo.

Para inserir uma expressão na caixa Classificação e Agrupamento    

  1. Na janela Banco de Dados, em Objetos, clique em Relatórios.
  2. Clique no relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Abra o relatório no modo de exibição Design.
  4. No menu Exibir, clique em Classificação e Agrupamento.
  5. Clique em uma célula na coluna Campo/Expressão.
  6. Digite uma expressão iniciando-a com o operador =.

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

Usando o Construtor de Expressões

Use o Construtor de Expressões para auxiliá-lo a construir expressões. O Construtor de Expressões é uma ferramenta que você pode utilizar na maioria dos lugares em que se pode inserir expressões. Ela oferece fácil acesso aos nomes dos campos e controles usados no banco de dados, bem como para muitas das funções internas disponíveis quando você escreve expressões. Você pode usar o Construtor de Expressões para criar uma expressão desde o início, ou pode selecionar algumas expressões predefinidas para exibição de números de página, da data atual ou da data e hora atuais.

Caixa de diálogo do Construtor de Expressões

Texto explicativo 1 Caixa de expressões

A seção superior do Construtor contém uma caixa de expressões onde você constrói a expressão. Nas três colunas na seção inferior do Construtor, você seleciona os elementos para colar na caixa de expressões. Você pode também digitar partes da expressão diretamente na caixa da expressão. Assim, você constrói uma expressão combinando texto digitado e texto colado.

Texto explicativo 2 Botões de Operadores

A seção intermediária do Construtor de Expressões exibe botões para os operadores mais usados. Para inserir um operador na caixa de expressões, clique no botão desejado. Para exibir uma lista dos operadores que você pode usar nas expressões, clique na pasta Operadores na coluna inferior esquerda e, em seguida, na coluna do meio, clique na categoria desejada. A coluna da direita exibirá todos os operadores da categoria selecionada. Para inserir um operador, clique duas vezes no operador ou selecione-o e clique em Colar.

Texto explicativo 3 Elementos da Expressão

A seção inferior contém três colunas:

  • A coluna da esquerda exibe as pastas que listam as tabelas, consultas, formulários e relatórios do banco de dados, bem como as funções internas e as funções definidas pelo usuário, constantes, operadores e expressões comuns.
  • A coluna do meio lista elementos específicos ou categorias de elementos da pasta selecionada na coluna da esquerda. Por exemplo, se você clicar em Funções Internas na coluna da esquerda, a coluna do meio listará as categorias de funções.
  • A coluna da direita lista os valores, caso existam, dos elementos selecionados nas colunas da esquerda e do meio. Por exemplo, se você clicar em Funções internas na coluna da esquerda e em uma categoria de funções na coluna do meio, a coluna da direita listará todas as funções internas da categoria selecionada.

Você constrói a expressão digitando o texto na caixa de expressões e colando elementos de outras áreas com o Construtor. Por exemplo, você pode clicar na coluna inferior esquerda para ver os objetos do banco de dados, bem como as funções, constantes, operadores e expressões comuns. Quando você clica em um item na coluna da esquerda, as outras colunas são alteradas conforme esse item. Por exemplo, ao clicar no nome de uma tabela na coluna da esquerda, a coluna do meio lista os campos da tabela. Ao clicar duas vezes em Funções e, em seguida, em Funções Internas, a coluna do meio lista todas as categorias de funções e a coluna da direita lista as funções dessas categorias. Ao clicar duas vezes para inserir uma função em uma expressão, a função e o texto que indica os argumentos necessários para essa função aparecem como textos de espaços reservados na caixa de expressões. Você pode, então, substituir o texto com os valores corretos dos argumentos.

Quando você cola um identificador em uma expressão, o Construtor de expressões insere somente as partes do identificador que são necessárias no contexto atual. Por exemplo, se você iniciar o Construtor de Expressões a partir da folha de propriedades do formulário Clientes e depois colar um identificador para a propriedade Visível do formulário em sua expressão, o Construtor de Expressões só colará o nome da propriedade Visível. Se você utilizar essa expressão fora do contexto do formulário, terá de incluir o identificador completo: Forms![Clientes].Visível.

Para iniciar o Construtor de Expressões em uma tabela, formulário ou relatório    

  1. Clique na caixa da propriedade ou do argumento da ação que conterá a expressão.
  2. Clique no botão Construirimagem do botão ao lado da caixa da propriedade.

Para iniciar o Construtor de Expressões em uma consulta    

  1. Clique na célula na grade de design que terá a expressão. Por exemplo, clique na célula Critério da coluna em que você quer inserir um critério, ou clique na célula Campo da coluna em que você quer criar um campo calculado.
  2. Clique no botão Construir na barra de ferramentas Imagem do botão.

Considere o Construtor de Expressões como uma maneira de localizar e inserir elementos que podem ser difíceis de lembrar, como nomes de identificadores (por exemplo, campos, tabelas, formulários e consultas) e nomes de funções e argumentos.

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

Usando expressões para fins práticos

Esta seção apresenta algumas maneiras de utilizar expressões para resolver problemas e calcular informações necessárias em formulários, relatórios e tabelas.

"Carimbando" um novo registro com a data e hora atuais

Em algumas tabelas, é importante assinalar ("carimbar") a data ou a data e hora em que o registro foi adicionado. Para fazer com que o Access inclua esse valor automaticamente, crie um campo com o tipo de dado Data/Hora e defina a propriedade DefaultValue do campo como Date() ou Now(). A função Date retorna a data atual, conforme o relógio do sistema de seu computador. A função Now retorna a data e hora atuais.

Para adicionar um campo de "carimbo" de data e hora    

  1. Na janela Banco de Dados, em Objetos, clique em Tabelas.
  2. Clique na tabela e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique na coluna Nome do Campo, na primeira linha vazia disponível.
  4. Digite um nome para o campo, como, por exemplo, DataDeInclusão.
  5. Clique na coluna Tipo de Dado e selecione Data/Hora.
  6. Clique na guia Geral e na caixa de propriedade DefaultValue.
  7. Digite Now() ou Date() e pressione a tecla TAB.
  8. Feche a tabela. Se o Access perguntar se você deseja salvar as alterações, clique em Sim.

Agora, sempre que você adicionar um novo registro à tabela, o Access anotará automaticamente a data ou a data e hora no campo DataDeInclusão.

Combinando valores de texto

Quando você quiser combinar os valores de dois ou mais campos de texto, use o operador "e comercial" (&). Por exemplo, você pode ter um formulário Funcionários onde deseja exibir o nome completo do funcionário no cabeçalho do formulário. Você pode digitar o nome e o sobrenome do funcionário nas caixas de texto na seção de detalhes.

Use esta expressão para exibir o nome completo do funcionário:

=[Nome] & " " & [Sobrenome]

Para combinar os valores de texto em dois ou mais controles, use o operador &. Qualquer elemento que você queira inserir entre os valores  — espaço em branco, pontuação ou texto fixo — deve estar entre aspas. Neste exemplo, a seqüência " " insere um espaço em branco entre o nome e o sobrenome.

Para adicionar uma caixa de texto com uma expressão para nome completo    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários ou em Relatórios
  2. Clique no formulário ou relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no formulário ou relatório para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Dados.
  4. Altere a propriedade OrigemDoControle para =[Nome] & " " & [Sobrenome]e pressione a tecla TAB.
  5. Feche a folha de propriedades.

Alguns registros podem não ter um valor no campo que você está combinando. O valor ausente é chamado de valor nulo. Quando você usa o operador & e um campo não possui valor, o Access retorna uma seqüência de caracteres de comprimento zero para o campo. Por exemplo, se o registro de um funcionário só possui o sobrenome, a expressão no exemplo anterior retorna uma seqüência de caracteres de comprimento zero para o campo Nome, um caractere de espaço e o valor no campo Sobrenome.

Ao combinar valores, pode ser desejável incluir um valor, como uma vírgula, somente quando o valor existir no campo específico. Por exemplo, digamos que você tenha uma tabela Clientes e queira combinar os valores dos campos Cidade, Região e CEP em um relatório. Alguns registros podem não possuir um valor no campo Região. Nesse caso, uma vírgula indesejada aparecerá antes do CEP se você usar o operador &.

Para eliminar essa vírgula indesejada, use o operador mais (+), como mostrado nesta expressão:

=([Cidade] & (", " + [Região]) & " " & [CEP])

O operador + combina texto da mesma maneira que o operador &. Contudo, o operador + também tem o recurso do que chamamos propagação Nulo. Isso quer dizer que se qualquer componente de uma expressão for nulo, a expressão inteira será nula. No exemplo anterior, consideremos a parte (", " + [Região]). Como é usado o operador +, a expressão entre parênteses incluirá uma vírgula somente se o valor existir no campo Região. Se o valor não existir, a propagação Nulo é executada e a expressão inteira dentro do parênteses resultará em um valor nulo.

Criando controles calculados para executar cálculos aritméticos

Você pode usar as expressões para adicionar, subtrair, multiplicar e dividir os valores em dois ou mais campos ou controles. Por exemplo, digamos que você registre a data em que um cliente precise receber um pedido e a data em que o pedido é enviado. Você pode calcular quantos dias antes (ou depois) um pedido foi enviado subtraindo-se o valor no campo DataDeEnvio do valor no campo DataDaSolicitação. Isso é possível porque o Access pode executar cálculos aritméticos em datas.

Expressão na propriedade Origem do Controle com o cálculo DataDaSolicitação menos DataDeEnvio

O resultado de um cálculo de data é chamado de intervalo. Esse valor contém um componente dias à esquerda do ponto decimal e um componente hora à direita. Se o valor retornado for um número positivo, você saberá quantos dias antes o pedido foi enviado. Se for negativo, quantos dias depois o pedido foi enviado. Se for 0, o pedido foi enviado em tempo hábil.

Para adicionar uma caixa de texto com uma expressão para calcular o número de dias    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários ou em Relatórios
  2. Clique no formulário ou relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no formulário ou relatório para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Dados.
  4. Altere a propriedade OrigemDoControle para =[DataDaSolicitação]-[DataDeEnvio]e pressione a tecla TAB.
  5. Feche a folha de propriedades.

Se, ao usar os operadores +, , *, / ou \ para executar um cálculo em dois valores, um deles for nulo (isto é, nenhum valor foi digitado), o valor da expressão também será nulo. Por exemplo, se uma das datas na expressão anterior for nula, o valor de toda a expressão será nulo. No relatório, isso resultará em um espaço em branco. Se quiser substituir o valor nulo com 0, use a função Nz para converter o valor nulo para zero. Por exemplo:

=Nz([DataDaSolicitação]-[DataDeEnvio],0)

 Observação   É possível definir os campos na tabela para que não recebam valores nulos. Ao desenhar a tabela, defina a propriedade Required do campo como Sim. Você também deve definir a propriedade DefaultValue do campo como um valor não nulo.

Adicionando valores em dois controles

Muitas das vezes, você pode desejar adicionar valores em dois controles. Por exemplo, para calcular o custo total de um pedido, você adiciona os valores nos controles Subtotal e Frete, como mostrado na seguinte ilustração.

Controles Total e Subtotal no formulário de pedido

Para calcular o total do pedido, crie uma caixa de texto na seção de detalhes do formulário Pedidos.

Para adicionar uma caixa de texto com uma expressão que calcula um total    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários ou em Relatórios
  2. Clique no formulário ou relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no formulário ou relatório para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Todas.
  4. Defina os valores das propriedades como mostrado na tabela abaixo.
Propriedade Configuração
Nome Total
OrigemDoControle  =[Subtotal]+[Frete]
Formato Moeda
  1. Feche a folha de propriedades.

Multiplicando dois valores para calcular o imposto sobre vendas

Digamos que você precise calcular o imposto sobre vendas de um pedido e a alíquota do imposto está armazenada no controle ImpostoVendas. Você pega o valor no controle Subtotal e o multiplica pelo valor no controle ImpostoVendas para calcular o imposto.

Para calcular o imposto sobre a venda, crie uma caixa de texto na seção de detalhes do formulário Pedidos.

Para adicionar uma caixa de texto com uma expressão para calcular o imposto sobre vendas    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários ou em Relatórios
  2. Clique no formulário ou relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no formulário ou relatório para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Todas.
  4. Defina os valores das propriedades como mostrado na tabela abaixo.
Propriedade Configuração
Nome ImpostoVendas
OrigemDoControle  =[Subtotal]*[AlíquotaDoImpostoVendas]
Formato Moeda
  1. Feche a folha de propriedades.

Somando e contando

É freqüente a necessidade de calcular uma soma de valores armazenados em um grupo de registros. Por exemplo, você pode precisar calcular um total em um rodapé de grupo em um relatório, ou o subtotal de um pedido para os itens em um formulário. Em outras situações, pode ser necessário contar a quantidade de itens, em vez de somá-los. Para calcular a soma de um grupo de registros, use a função Soma, e para contar um grupo de registros, use a função Contar.

Por exemplo, para contar a quantidade de pedidos em um relatório que mostre pedidos agrupados por cliente, use a seguinte expressão:

=Contar([CódigoDoPedido])

Você pode usar nomes de campos como argumentos da expressão para as funções Soma e Contar, mas não nomes de controles. Os nomes de campo podem vir de uma tabela ou consulta. Você também pode usar o nome de um campo calculado de uma consulta. Entretanto, para somar os valores em um controle calculado, você deve repetir na função a expressão usada no controle calculado.

Se você quiser se referir à mesma expressão mais de uma vez em um formulário, ou se usar uma função, como a função Soma, considere inserir a expressão na consulta de base do formulário. Desse modo, o cálculo pode ser executado na consulta em vez de no formulário. Em geral, é mais rápido executar o cálculo na consulta.

Calculando o subtotal de um pedido em um subformulário

Para criar um formulário de pedidos, você usa um formulário principal ou um subformulário. O formulário principal e o subformulário são vinculados por um campo comum, como o campo CódigoDoPedido. O formulário principal contém os detalhes do pedido, como informações de faturamento e de envio, e o subformulário contém detalhes sobre os itens solicitados, como produto, quantidade e preço unitário. As informações no formulário principal vêm de uma consulta que inclui a tabela Pedidos. As informações no subformulário vêm de uma consulta que inclui a tabela Detalhes do Pedido.

Se você basear um subformulário em uma consulta que inclui um campo calculado para calcular o preço total, pode somar os valores no campo PreçoTotal para calcular o subtotal. Para calcular o subtotal do pedido, crie uma caixa de texto no rodapé do subformulário Pedidos.

Cálculo de subtotal do pedido em subformulário

Para adicionar uma caixa de texto com uma expressão que calcule o subtotal do pedido em um subformulário    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários.
  2. Clique no subformulário e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no formulário para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Todas.
  4. Defina os valores das propriedades como mostrado na tabela abaixo.
Propriedade Configuração
Nome SubtotalDoPedido
OrigemDoControle  =Soma([Preço Total])
Formato Moeda
  1. Feche a folha de propriedades.

Embora a caixa de texto no subformulário calcule o subtotal do pedido, o valor é exibido somente no formulário principal. Para ocultar a caixa de texto no subformulário, posicione-o no rodapé do subformulário e defina a propriedade DefaultView do subformulário como Exibição de Folha de Dados. O Access não exibe o cabeçalho ou o rodapé do formulário quando você usa um formulário em modo de exibição de Folha de Dados. Por fim, insira o subformulário no formulário principal.

Em geral, um subformulário não funciona corretamente como um formulário independente. Os subformulários são desenvolvidos para serem dependentes de um valor no formulário principal. O Access limita o subformulário aos registros apropriados somente após você inserir o subformulário no formulário principal e definir o campo que vincula os dois formulários (como o campo CódigoDoPedido). Por exemplo, ao usar o formulário Pedidos com um subformulário, o CódigoDePedido no formulário principal limita os registros no subformulário àqueles que têm o mesmo número de CódigoDePedido.

Fazendo referência ao subtotal do pedido em um formulário principal

Os controles em um formulário principal e em um subformulário podem referir-se uns aos outros. Para fazer referência a um valor em um subformulário, use uma expressão, como mostrado na ilustração abaixo.

Referência a SubtotalDoPedido no subformulário de pedidos

Texto explicativo 1 Nome do controle do subformulário no formulário principal
Texto explicativo 2 Propriedade Form, que fornece acesso aos controles e propriedades do subformulário
Texto explicativo 3 Nome do controle da caixa de texto no subformulário

Para exibir o subtotal do pedido, crie uma caixa de texto na seção de detalhes do formulário Pedidos.

Para exibir o subtotal de um subformulário em uma caixa de texto na seção de detalhes do formulário Pedidos.    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários.
  2. Clique no formulário Pedidos e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro na seção de detalhes do formulário para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Todas.
  4. Defina os valores das propriedades como mostrado na tabela abaixo.
Propriedade Configuração
Nome Subtotal
OrigemDoControle  =[Subformulário Pedidos].Form![SubtotalDoPedido]
Formato Moeda
  1. Feche a folha de propriedades.

Pesquisando um valor em uma tabela

Ao criar um formulário, pode ser desejável exibir um valor de uma tabela ou consulta em vez daquele a que seu formulário está vinculado. Por exemplo, o formulário Produtos pode estar vinculado à tabela Produtos. Depois de criar o formulário, contudo, você decide exibir o nome do contato do fornecedor. Esse dado está na tabela Fornecedores.

Para pesquisar e exibir um valor de outra tabela ou consulta, use a função DPesquisa. Três argumentos são necessários para a função DPesquisa:

  • O nome do campo cujo valor você quer pesquisar
  • A tabela ou consulta em que o campo está localizado
  • O critério para localizar o registro

Para adicionar o contato do fornecedor, abra o formulário Produtos no modo de exibição Design e adicione uma caixa de texto com o rótulo Nome do Contato. A expressão usada para essa caixa de texto é:

=DPesquisa("[NomeDoContato]","[Fornecedores]","[CódigoDoFornecedor]=" & Forms!Products!CódigoDoFornecedor)

Para adicionar a caixa de texto de contato do fornecedor    

  1. Na janela Banco de Dados, em Objetos, clique em Formulários.
  2. Clique no formulário Pedidos e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no formulário para criar a caixa de texto.
  2. Clique na caixa de texto para selecioná-la.
  3. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Todas.
  4. Defina os valores das propriedades como mostrado na tabela abaixo.
Propriedade Configuração
Rótulo Nome do Contato
OrigemDoControle  =DPesquisa("[NomeDoContato]","[Fornecedores]","[CódigoDoFornecedor]=" & Forms!Products!CódigoDoFornecedor)
  1. Feche a folha de propriedades.

Essa expressão efetua uma pesquisa na tabela Fornecedores e retorna o nome do contato do fornecedor cujo código corresponde ao valor CódigoDoFornecedor no formulário Produtos. Observe como é usado o operador & para construir o terceiro argumento. Um erro comum a ser evitado é colocar todo o argumento entre aspas em vez de somente o texto antes do operador &.

 Observação   Como alternativa à função DPesquisa, você pode alterar a consulta base para incluir as informações de que precisa. O uso de uma consulta é mais eficiente.

Imprimindo a data em um relatório

Em muitos relatórios, pode ser desejável imprimir a data em que o relatório foi gerado. Para fazer com que o Access preencha a data automaticamente, use a função Now ou a função Date. A função Now retorna a data e hora atuais, conforme o relógio do sistema de seu computador. A função Date retorna somente a data atual. Você pode formatar o resultado das duas funções conforme as formatações disponíveis de data e hora.

Digamos que você queira imprimir um relatório de fatura e queira incluir a data de impressão no formato Data Normal (por exemplo, 31-Dez-04). Digite a expressão =Date() na propriedade OrigemDoControle da caixa de texto ou na própria caixa de texto.

Para adicionar a data de impressão a um relatório    

  1. Na janela Banco de Dados, em Objetos, clique em Relatórios.
  2. Clique no relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro no relatório para criar a caixa de texto.

 Observação   Se o rodapé da página não estiver visível, no menu Exibir, clique em Cabeçalho/Rodapé da Página.

  1. Clique na caixa de texto para selecioná-la.
  2. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Todas.
  3. Defina os valores das propriedades como mostrado na tabela abaixo.
Propriedade Configuração
Nome DataDeImpressão
OrigemDoControle  =Date()
Formato Data Normal
  1. Feche a folha de propriedades.

Incluindo os números das páginas em um relatório

Ao criar um relatório com mais de uma página, pode ser desejável incluir os números das páginas. Adicione os números de página usando a propriedade Page, que numera automaticamente as páginas quando você visualiza a impressão ou imprime o relatório. A propriedade Page está disponível somente quando você visualiza ou imprime um relatório, não aparecendo na folha de propriedades.

Você usa a propriedade Page na propriedade OrigemDoControle de uma caixa de texto exatamente como usa uma função, tal como Now ou Date. Posicione a caixa de texto no cabeçalho ou rodapé da página do relatório. (Observe que não são incluídos parênteses após a propriedade Page.)

Expressão Page no rodapé da página

Você pode construir uma expressão que use as propriedades Page e Pages. A propriedade Pages retorna o número total de páginas no relatório. Por exemplo, a expressão abaixo produz a numeração de página no formato Página 1 de 10.

="Página " & [Page] &" de" & [Pages]

Para adicionar o estilo anterior de numeração de páginas em um relatório    

  1. Na janela Banco de Dados, em Objetos, clique em Relatórios.
  2. Clique no relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Texto.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro na seção de rodapé da página do relatório para criar a caixa de texto.

 Observação   Se o rodapé da página não estiver visível, no menu Exibir, clique em Cabeçalho/Rodapé da Página.

  1. Clique na caixa de texto para selecioná-la.
  2. No menu Exibir, clique em Propriedades e, em seguida, clique na guia Dados.
  3. Altere o valor na caixa da propriedade Origem do Controle para ="Página " & [Page] &" de" & [Pages].
  4. Feche a folha de propriedades.

 Observação   No Construtor de Expressões, o Access inclui algumas expressões comuns que você pode usar para a numeração de páginas.

Imprimindo parte de um valor em um relatório

Se os primeiros e os últimos caracteres em um campo tiverem representarem alguma informação, você pode organizar o relatório de acordo com eles. Por exemplo, se os primeiros dois caracteres de um código de identificação do produto indicam o tipo de produto, você pode agrupar os produtos pelos dois primeiros caracteres do código e então identificar cada grupo imprimindo os caracteres no cabeçalho do grupo.

Use a função Left para extrair os primeiros n caracteres de um valor em um campo de Texto e a função Right para extrair os n últimos caracteres. Em ambos os casos, o primeiro argumento é o nome do campo ou expressão de texto e o segundo argumento é o número de caracteres que você quer extrair.

A tabela a seguir mostra expressões que empregam essas funções.

Se o valor na Identificação do Produto é  Esta expressão Retorna
AA105 =Left([IdentificaçãoDoProduto],2) AA
AA105 =Right([IdentificaçãoDoProduto],3) 105

Usando separadores de letras em uma lista em ordem alfabética

Para obter uma rápida identificação em uma lista de produtos, você pode agrupar os produtos pela primeira letra do nome em um cabeçalho de grupo, como mostrado na ilustração abaixo.

Relatório mostrando agrupamento pela primeira letra do nome do produto

Para iniciar um novo grupo a cada vez que mudar a primeira letra do nome do produto e, em seguida, classificar os produtos de cada grupo em ordem alfabética, defina as propriedades na caixa Classificação e Agrupamento como mostrado na tabela abaixo.

Campo/
Expressão
Classificação
Ordem
Cabeçalho de grupo Rodapé de grupo Grupo
Em
Intervalo do Grupo Manter Juntos
NomeDoProduto Crescente Sim Sim Caracteres Prefixados  1 Grupo inteiro
NomeDoProduto Crescente Não Não Cada valor 1 Não

Para exibir a caixa Classificação e Agrupamento

  1. Abra o relatório no modo de exibição Design.
  2. No menu Exibir, clique em Classificar e Agrupar (ou clique em Classificar e AgruparImagem do botão, na barra de ferramentas).

Para imprimir somente a primeira letra do nome no início de cada grupo, use esta expressão na caixa de texto no cabeçalho de NomeDoProduto:

=Left([NomeDoProduto],1)

Imprimindo o equivalente numérico de uma data

Você pode organizar os registros em um relatório pelos valores numéricos de um período de tempo — um período como ano, trimestre, mês ou semana. Por exemplo, um ano é dividido em 53 semanas. (A primeira e a última semana do ano são, em geral, semanas parciais.) O valor numérico para a semana de 18-dez-94 a 24-dez-94 é 52. Usando esses valores numéricos, você pode agrupar os pedidos que foram enviados por cada semana do ano.

Para saber qual o valor numérico de uma data, use a função PartData. O formato dessa função é:

PartData(intervalo, data)

O argumento intervalo é a abreviação da parte da data que você deseja que seja retornada. Exemplos de abreviações válidas são "aaaa" para anos com quatro dígitos, "t" para trimestre e "m" para mês. O argumento data é um nome de campo ou data literal, como "1-jul-94."

 Observação   Opcionalmente, você pode adicionar dois argumentos à função PartData — uma para o primeiro dia da semana e outra para a primeira semana do ano. Nesses argumentos, você pode aceitar os valores que são definidos pelas opções de exibição PrimeiroDiaDaSemana e PrimeiraSemana, ou pode especificar seus próprios valores.

A tabela a seguir lista exemplos dos resultados que são retornados para um campo denominado "Feriado". O campo Feriado pode armazenar os feriados dos países em que sua empresa possui negócios.

Se o valor em Feriado é 
Esta expressão

Retorna
1-jan-94 =PartData("s",[Feriado]) 7 (dia da semana)
31-dez-94 =PartData("ss",[Feriado]) 53 (semana do ano)
31-dez-94 =PartData("aaaa",[Feriado]) 1994 (ano em quatro dígitos)

Para saber mais sobre como criar relatórios agrupados, consulte o artigoCriar um relatório de resumo ou agrupado.

Comparando os resultados de vários anos

Para analisar os resultados de vendas de mais de um ano, é conveniente agrupar os resultados por período de tempo, como por trimestre ou por mês. Desse modo, você pode ver rapidamente o desempenho de um período de tempo em um ano e compará-lo com o mesmo período em outro ano. Por exemplo, digamos que você queira ver o relatório Resumo de Vendas por Trimestre que mostra a quantidade de pedidos que foram enviados e os totais das vendas.

Relatório Resumo de Vendas por Trimestre

Para criar cabeçalhos e rodapés de grupo e especificar a ordem de classificação do relatório, defina as propriedades na caixa Classificação e Agrupamento como mostrado na tabela abaixo. Observe que você usa uma expressão para agrupar pelo trimestre em que os pedidos foram enviados.

Campo/
Expressão 
Classificação
Ordem 
Cabeçalho de grupo  Rodapé de grupo  Grupo
Em 
Intervalo do Grupo  Manter Juntos
=PartData("t",
[DataDeEnvio])
Crescente Sim Sim Cada valor 1 Sim
DataDeEnvio Crescente Não Sim Ano 1 Não
DataDeEnvio Crescente Não Não Cada valor 1 Não
Código do Pedido Crescente Não Não Cada valor 1 Não

Para exibir a caixa Classificação e Agrupamento

  1. Abra o relatório no modo de exibição Design.
  2. No menu Exibir, clique em Classificar e Agrupar (ou clique em Classificar e AgruparImagem do botão, na barra de ferramentas).

Para imprimir o número do trimestre no começo de um novo grupo, posicione uma caixa de texto no cabeçalho de grupo com a mesma expressão usada na caixa Classificação e Agrupamento:

=PartData("t", [DataDeEnvio])

Calculando totais de itens

Digamos que você queira um relatório de fatura que apresente informações sobre um pedido. Você precisará calcular o preço total (o total de vendas de cada produto) dos itens. Primeiro, crie uma consulta que forneça os dados para o relatório. Inclua na consulta os campos de todas as tabelas necessárias, como a tabela Pedidos, a tabela Detalhes do Pedido e a tabela Clientes. Crie, então, um campo calculado na grade de design da consulta que calcule o preço total de cada produto na fatura.

Para criar um campo calculado    

  1. Na janela Banco de Dados, em Objetos, clique em Consultas.
  2. Clique na consulta e, em seguida, clique em Design na janela Banco de Dados.
  3. Clique na linha Campo de uma coluna vazia na grade de design da consulta.
  4. Digite nome, dois-pontos (:), e a expressão na célula Campo. Para calcular o preço total, use uma expressão como esta:

PreçoTotal: CMoeda([DetalhesDoPedido].PreçoUnitário*[Quantidade]*(1-[Desconto])/100)*100

Ao criar um campo calculado na grade de design da consulta, não inicie a expressão com o operador =.

Identificando pedidos que foram enviados com atraso

Em circunstâncias adequadas, os pedidos são enviados em tempo hábil. Ocasionalmente, alguns pedidos podem ser enviados após a data de solicitação e você deseja identificá-los em um relatório. Para marcar em um relatório de envios todos os pedidos que foram enviados com atraso, imprima uma marca de verificação em uma caixa de seleção intitulada Atrasado. Como a maioria dos pedidos são enviados em tempo hábil, a marca de verificação é mais fácil de rastrear do que o texto Em tempo ou Atrasado.

A expressão para esse relatório compara o valor no campo Data de Envio com o valor no campo Data de Solicitação. Se o valor do campo Data de Envio for maior (isto é, uma data posterior) que o valor no campo Data de Solicitação, a expressão retorna o valor Verdadeiro e o relatório mostra uma marca de verificação na caixa de seleção. Se o valor é Falso, o relatório deixa a caixa de seleção vazia.

Para adicionar a caixa de seleção Atrasado em um relatório    

  1. Na janela Banco de Dados, em Objetos, clique em Relatórios.
  2. Clique no relatório e, em seguida, clique em Design na janela Banco de Dados.
  3. Na caixa de ferramentas, clique na ferramenta Caixa de Seleção.

 Observação   Se a caixa de ferramentas não estiver visível, clique em Caixa de Ferramentas no menu Exibir.

  1. Arraste o ponteiro na seção de detalhes do relatório para criar a caixa de seleção.
  2. Clique na caixa de seleção para selecioná-la.
  3. No menu Exibir, selecione Propriedades e, em seguida, clique na guia Todas.
  4. Defina as propriedades da caixa de seleção conforme a tabela abaixo.
Propriedade Configuração
Nome Atrasado
OrigemDoControle  =[Data de Envio]>[Data de Solicitação]
Visível Sim
  1. Feche a folha de propriedades.

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

Tabela de operadores

O Access aceita vários operadores, desde os operadores aritméticos, como +, -, * (multiplicação) e / (divisão), até operadores de comparação para confrontação de valores, operadores de texto para concatenação de texto, operadores lógicos para determinação de valores verdadeiros ou falsos, e outros operadores específicos do Access. Para obter detalhes sobre como usar esses operadores, consulte as seguintes seções:

Operadores Aritméticos

Use os operadores aritméticos para calcular um valor a partir de dois ou mais números ou para alterar o sinal de um número de positivo para negativo.

Operador Finalidade Exemplo
+ Soma dois números. [Subtotal]+[ImpostoVendas]
- Acha a diferença entre dois números ou indica o valor negativo de um número. [Preço]-[Desconto]
* Multiplica dois números. [Quantidade]*[Preço]
/ Divide o primeiro número pelo segundo. [Total]/[QuantItens]
\ Arredonda ambos os números para inteiros e, em seguida, divide o primeiro número pelo segundo. Apresenta o resultado como um inteiro. [Registrados]\[Quartos]
Mod Divide o primeiro número pelo segundo e retorna apenas o resto. [Registrados] Mod [Quartos]
^ Eleva um número à potência de um expoente. Número ^ Expoente

Operadores de comparação

Use os operadores de comparação para comparar valores e retornar um resultado verdadeiro, falso ou nulo.

Operador Finalidade
< Determina se o primeiro valor é menor que o segundo valor.
<= Determina se o primeiro valor é menor ou igual ao segundo valor.
> Determina se o primeiro valor é maior que o segundo valor.
>= Determina se o primeiro valor é maior ou igual ao segundo valor.
= Determina se o primeiro valor é igual ao segundo valor.
<> Determina se o primeiro valor é diferente do segundo valor.

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

Operadores lógicos

Use os operadores lógicos para combinar dois valores e retornar um resultado verdadeiro, falso ou nulo. Veja também os operadores lógicos denominados operadores Booleano.

Operador Uso Descrição
E Expr1 E Expr2 Verdadeiro quando Expr1 e Expr2 são verdadeiros.
Ou Expr1 Ou Expr2 Verdadeiro quando Expr1 ou Expr2 é verdadeiro.
Eqv Expr1 Eqv Expr2 Verdadeiro quando Expr1 e Expr2 são ambos verdadeiros ou quando Expr1 e Expr2 são ambos falsos.
Não Não Expr Verdadeiro quando Expr não é verdadeiro.
Oux Expr1 Oux Expr2 Verdadeiro quando ou Expr1 é verdadeiro, ou quando Expr2 é verdadeiro, mas não quando ambos são verdadeiros.

Operadores de concatenação

Use os operadores de concatenação para combinar dois valores de texto em um.

Operador Uso Descrição
& seqüência1 & seqüência2 Combina duas seqüências para formar uma seqüência.
+ seqüência1 + seqüência2 Combina duas seqüências para formar uma seqüência e propaga valores nulos.

Operadores especiais

Use os operadores especiais como descrito na tabela seguinte.

Operador Descrição Para obter mais informações
É (Não) Nulo Determina se um valor é Nulo ou Negado Nulo.
48%">Como "padrão" Matches string values by using wildcard operators ? and *. Like Operator
Between val1 And val2 Determines whether a numeric or date value falls within a range. Between...And Operator
In(string1,string2...) Determines whether a string value is within a set of string values. Operador In

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

 
 
Aplica-se a:
Access 2003