Criar uma expressão

Este artigo descreve como criar e usar expressões no Microsoft Office Access. Use expressões para executar muitas das mesmas tarefas para as quais você utiliza fórmulas no Microsoft Office Excel. Este artigo mostra onde usar expressões, dependendo da tarefa específica a ser executada.

Neste artigo


Visão geral de expressões

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

Componentes de uma expressão.

Por exemplo, a expressão a seguir contém estes quatro elementos:

=Soma([Preço de Compra])*0,08

Nesse exemplo, Soma() é uma função interna, [Preço de Compra] é um identificador, * é um operador matemático e 0,08 é uma constante. Essa expressão pode ser usada em uma caixa de texto, em um rodapé de formulário ou de relatório, para calcular o imposto sobre vendas de um grupo de itens.

As expressões podem ser muito mais complexas ou muito mais simples do que esse exemplo. Por exemplo, esta expressão booliana (que tem como resultado Verdadeiro ou Falso) consiste em apenas um operador e uma constante:

>0

Essa expressão retorna Verdadeiro quando comparada com um número maior do que 0 e retorna Falso quando comparada com um número menor do que 0. É possível usar essa expressão na propriedade Regra de Validação de um campo de controle ou tabela para garantir que somente valores positivos sejam inseridos.

No Access, as expressões são usadas em vários locais para fazer cálculos, manipular caracteres ou testar dados. Tabelas, consultas, formulários, relatórios e macros têm propriedades que aceitam uma expressão. Por exemplo, você pode usar expressões nas propriedades Fonte do Controle e Valor Padrão para um um controle. Também é possível usá-las na propriedade Regra de Validação para um campo de tabela. Além disso, ao escrever código VBA (Microsoft Visual Basic for Applications) para um procedimento de evento ou para um módulo, você geralmente usa expressões semelhantes àquelas utilizadas em um objeto do Access, como uma tabela ou uma consulta.

As seções a seguir descrevem as maneiras mais comuns de usar as expressões.

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

Novos recursos do Construtor de Expressões do Access 2010

No Access 2010, o Construtor de Expressões foi reformulado para facilitar o uso. Aqui estão algumas alterações que você notará nesta versão:

  • IntelliSense    A funcionalidade IntelliSense foi adicionada a quase todos os contextos em que você pode inserir uma expressão. Isso significa que, à medida que você começa a digitar um identificador ou uma função, o Access exibe uma lista de identificadores e funções disponíveis e que são apropriados ao contexto atual. Você pode continuar digitando para refinar a lista ou pode escolher um item para que ele seja preenchido para você. Isso acelera bastante o processo de digitação de expressões e ajuda a garantir a precisão das expressões criadas.

O IntelliSense é especialmente útil quando você cria bancos de dados da Web usando o novo recurso de publicação na Web. Somente determinadas funções são compatíveis com bancos de dados da Web, e o IntelliSense impede o uso de funções incompatíveis.

Para obter mais informações sobre bancos de dados da Web, consulte o artigo sobre como construir um banco de dados a ser compartilhado na Web.

  • Dicas rápidas    Enquanto o IntelliSense está exibindo uma lista de identificadores e funções, clique em cada item na lista para exibir uma breve descrição do item.
  • Informações rápidas    Assim que você digitar um nome completo de função no Construtor de Expressões, o Access apresentará uma pequena caixa pop-up exibindo a sintaxe da expressão. Isso ajudará você a lembrar quais argumentos são exigidos pela função (se houver) e em que ordem. O Access aplicará negrito a cada argumento da exibição Informações Rápidas à medida que você digitá-las na caixa de expressão, de modo que você sempre saiba onde está na lista de argumentos.

 Observação   Esses recursos também estão disponíveis na maioria dos contextos em que é possível a digitação de expressões, mesmo se você não estiver usando a caixa de diálogo Construtor de Expressões.

Além desses novos recursos, a caixa propriamente dita do Construtor de Expressões foi reformulada:

  • Você pode clicar em << Menos ou em Mais >> para controlar a dimensão da exibição da caixa de diálogo Construtor de Expressões.
  • Quando você redimensiona a caixa de diálogo Construtor de Expressões, o novo tamanho é preservado durante a sessão do Access, evitando a necessidade de redimensionar a caixa de diálogo sempre que você abri-la.
  • A linha de botões de operador foi removida, resultando em uma caixa de diálogo menos cheia.

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

Usar expressões em controles de formulário e relatório

Quando você usa uma expressão como a fonte de dados de um controle, um controle calculado é criado. Por exemplo, vamos supor que você tenha um relatório que exiba vários registros de inventário e queira criar um total, no rodapé do relatório, que some todos os itens de linha no relatório.

Total em um relatório.

Para calcular o total, coloque um controle de caixa de texto no rodapé do relatório e defina a propriedade OrigemDoControle da caixa de texto como a seguinte expressão:

=Soma([campo_da_tabela])

Nesse caso, campo_da_tabela é o nome do campo que contém os valores de subtotal. Esse campo pode estar em uma tabela ou em uma consulta. A função Soma calcula o total para um conjunto de valores da fonte do registro.

O procedimento a seguir mostra como inserir uma expressão em um controle de caixa de texto.

Inserir uma expressão em um controle de caixa de texto

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário a ser alterado e clique em Modo Layout ou em Modo Design no menu de atalho.
  2. Selecione o controle no qual você deseja inserir uma expressão.
  3. Se a Folha de Propriedades não for exibida, pressione F4 para exibi-la.
  4. Para criar manualmente uma expressão, na guia Dados da folha de propriedades, clique na propriedade OrigemDoControle da caixa de texto e digite = seguido pelo restante da expressão. Por exemplo, para calcular o subtotal mostrado anteriormente, digite =Soma([campo_da_tabela]), não se esquecendo de substituir o nome do campo em campo_da_tabela.
  5. Para criar uma expressão usando o Construtor de Expressões, clique no botão ConstruirImagem do botão na caixa de propriedade.

Depois de concluir sua expressão, a folha de propriedades será semelhante ao seguinte:

Uma expressão na propriedade Fonte do Controle de uma caixa de texto.

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

Usar expressões como critérios de consulta

Você pode usar uma expressão para definir os critérios de uma consulta. Dessa forma, o Access retornará somente as linhas que corresponderem aos critérios. Por exemplo, suponha que você queira ver todos os pedidos cuja data de envio ocorreu nos primeiros três meses do ano de 2010. Para inserir os critérios, digite a expressão a seguir na célula Critérios da coluna Data/Hora da consulta. Este exemplo usa uma coluna Data/Hora denominada DataDeEnvio. Para definir um intervalo de datas, insira os critérios desta maneira:

Entre #1/1/2010# E #31/3/2010#

A coluna de DataDaRemessa será semelhante ao seguinte:

Uma expressão na linha Critérios da grade de consulta

Para cada registro da tabela Pedidos, se o valor da coluna DataDeEnvio estiver no intervalo de datas especificado, o registro será incluído no resultado da consulta. Observe que na expressão você insere as datas entre sinais numéricos (#). O Access trata um valor entre sinais numéricos como um tipo de dados Data/Hora. Tratar esses valores como dados de data/hora permite efetuar cálculos com esses valores, como subtrair uma data de outra.

Inserir critérios na grade de design da consulta

  1. No Painel de Navegação, clique com o botão direito do mouse na consulta que você deseja alterar e, em seguida, clique em Modo Design no menu de atalho.
  2. Clique na célula Critérios na coluna em que você deseja inserir critérios.
  3. Para criar a expressão manualmente, digite os critérios.

 Observação   Não preceda a expressão de critérios com o operador =.

  1. Para criar a expressão usando o construtor, na guia Design, grupo Configuração de Consulta, clique em ConstrutorImagem do botão.

 Dica    Se você quiser uma área maior para editar a expressão, coloque o cursor na célula Critérios e pressione SHIFT+F2 para exibir a caixa de diálogo Zoom:

Uma expressão na caixa de diálogo Zoom.

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

Criar um campo calculado em uma consulta

Suponha que você esteja criando uma consulta e queira exibir os resultados de um cálculo que envolve outros campos da consulta. Para criar o campo calculado, insira uma expressão em uma célula em branco na linha Campo da consulta. Por exemplo, se você tiver uma consulta que contenha os campos Quantidade e Preço Unitário, poderá multiplicar os dois para criar um campo calculado de Preço Estendido, inserindo a seguinte expressão na linha Campo da consulta:

Preço Estendido: [Quantidade] * [Preço Unitário]

Iniciar a expressão com o textoPreço Estendido: dá à nova coluna o nome Preço Estendido. Esse nome muitas vezes é chamado de alias. Se você não fornecer um alias, o Access criará um, como Expr1.

Usando uma expressão para criar um campo calculado em uma consulta.

Quando você executa a consulta, o Access efetua o cálculo em cada linha, conforme mostrado na ilustração a seguir:

Um campo calculado, mostrado no modo de exibição Folha de Dados.

Criar um campo calculado no modo Design da consulta

  1. No Painel de Navegação, clique com o botão direito do mouse na consulta que você deseja alterar e clique em Modo Design no menu de atalho.
  2. Clique na célula Campo na coluna em que você deseja criar o campo calculado.
  3. Para criar a expressão manualmente, digite-a.

 Observação   Não coloque o operador = antes da expressão de critérios; em vez disso, inicie-a com um rótulo descritivo seguido por dois-pontos. Por exemplo, digite Preço Estendido: para fornecer o rótulo de uma expressão que cria um campo calculado denominado Preço Estendido. Em seguida, digite os critérios da expressão após os dois-pontos.

  1. Para criar a expressão usando o construtor, na guia Design, grupo Configuração da Consulta, clique em Construtor.

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

Criar um campo calculado em uma tabela

No Access 2010, você pode criar um campo calculado em uma tabela. Isso elimina a necessidade de uma consulta separada para fazer cálculos.


 Observações 

  • O cálculo não pode incluir campos de outras tabelas ou consultas.
  • Os resultados do cálculo são somente leitura.

Para criar o campo calculado:

  1. Abra a tabela clicando duas vezes no Painel de Navegação.
  2. Role horizontalmente a tela para a coluna mais à direita da tabela e clique no título de coluna Clique para Adicionar.
  3. Na lista exibida, clique em Campo Calculado e clique no tipo de dados desejado para o resultado.

O Access exibirá o Construtor de Expressões.

  1. Comece a digitar o cálculo desejado nesse campo, por exemplo:

[Quantidade] * [Preço Unitário]

 Observação   Não é necessário iniciar a expressão com um sinal de igual (=).

  1. Clique em OK.

O Access adicionará o campo calculado e realçará o cabeçalho de campo para que você possa digitar um nome de campo.

  1. Digite um nome para o campo calculado e pressione ENTER.

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

Adicionar uma regra de validação a um campo de tabela ou a um registro

As expressões são muito úteis para validação de dados à medida que eles são inseridos no banco de dados. Em tabelas, é possível criar dois tipos de regra de validação: regras de validação de campo, para impedir que os usuários insiram dados inválidos em um único campo, e regras de validação de registro, para impedir que usuários criem registros que não atendam aos critérios inseridos. Os dois tipos de regra de validação são criados com expressões.

Por exemplo, vamos supor que você tenha uma tabela chamada Inventário com um campo denominado Unidades Disponíveis e queira definir uma regra para forçar os usuários a inserir um valor maior ou igual a zero. Em outras palavras, o inventário não poderá nunca ser um número negativo. Você pode fazer isso usando a seguinte expressão como uma regra de validação para o campo Unidades Disponíveis:

>=0

Inserir uma regra de validação

Use o procedimento a seguir para inserir uma regra de validação de campo ou uma regra de validação de registro:

  1. No Painel de Navegação, clique duas vezes na tabela a ser alterada.

O Access abrirá a tabela no modo Folha de Dados.

  1. Para uma regra de validação de campo, selecione o campo a ser alterado.
  2. Na guia Campos, no grupo Validação do Campo, clique em Validação e clique em Regra de Validação do Campo ou em Regra de Validação do Registro.

O Access exibirá o Construtor de Expressões.

  1. Comece a digitar os critérios desejados. Por exemplo, para uma regra de validação de campo que exija que todos os valores sejam maiores que ou iguais a zero, digite o seguinte:

>=0

 Observação   Não preceda a expressão com um sinal de igualdade (=).

Expressões de regra de validação são boolianas, significando que elas resolvem Verdadeiro ou Falso. Uma regra de validação deve resolver Verdadeiro para o valor ser aceito. Neste exemplo, se você inserir um valor menor que zero no campo Unidades Disponíveis, a expressão avaliará como Falso e o Access não aceitará o valor. Se não tiver inserido uma mensagem de validação, conforme descrito na próxima seção, o Access exibirá sua própria mensagem para indicar que o valor inserido é proibido pela regra de validação do campo.

Inserir uma mensagem de validação

Para facilitar ainda mais o uso, você pode inserir mensagens de validação personalizadas. Elas substituem as mensagens genéricas que o Access exibe quando dados não correspondem a uma regra de validação. Use a mensagem de validação personalizada para fornecer informações específicas que ajudem o usuário a inserir os dados corretos, por exemplo: "O valor do campo Unidades Disponíveis não pode ser um número negativo". Use o procedimento a seguir para criar uma mensagem de validação:

  1. No Painel de Navegação, clique duas vezes na tabela a ser alterada.

O Access abrirá a tabela no modo Folha de Dados.

  1. Para uma mensagem de validação de campo, selecione o campo ao qual você adicionou a regra de validação.
  2. Na guia Campos, no grupo Validação do Campo, clique em Validação e então clique em Mensagem de Validação do Campoou em Mensagem de Validação do Registro.
  3. Na caixa de diálogo Digitar Mensagem de Validação, digite a mensagem a ser exibida quando os dados não corresponderem à regra de validação e clique em OK.

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

Adicionar uma regra de validação a um controle

 Observação   Regras de validação não estão disponíveis para controles em bancos de dados da Web. Em vez disso, use as regras de validação de campo ou de registro, conforme descrito na seção anterior.

Além disso, para campos de tabela e registros, os controles também têm uma propriedade de Regra de Validação que pode aceitar uma expressão. Por exemplo, vamos supor que você use um formulário para inserir o intervalo de datas de um relatório e queira garantir que a data de início não seja anterior a 1/1/2010. Você pode definir as propriedades Regra de Validação e TextoDeValidação para a caixa de texto em que a data de início é inserida para o seguinte:

Propriedade Configuração
Regra de Validação >=#1/1/2010#
Texto de Validação Você não pode inserir uma data anterior a 1/1/2010.

Se você tentar inserir uma data anterior a 1/1/2010, uma mensagem aparecerá e exibirá o texto da propriedade TextoDeValidação. Se nenhum texto tiver sido inserido na caixa da propriedade TextoDeValidação, o Access exibirá uma mensagem genérica. Depois que você clicar em OK , o Access retornará à caixa de texto.

 Dica   A definição de uma regra de validação para um campo de tabela impõe a regra a todo o banco de dados, sempre que o campo é modificado. Como alternativa, definir uma regra de validação para um controle de um formulário impõe a regra somente quando esse formulário está sendo usado. A definição de regras de validação separadamente para campos de tabela e controles de formulários pode ser útil quando você deseja estabelecer regras de validação diferentes para usuários diferentes.

Inserir uma regra de validação para um controle

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário ou no relatório a ser alterado e clique em Modo Design ou em Modo Layout no menu de atalho.
  2. Clique com o botão direito do mouse no controle que você deseja alterar e clique em Propriedades no menu de atalho.

O Access exibe a folha de propriedades do controle.

  1. Clique na guia Tudo e, em seguida, clique na caixa de propriedade Regra de Validação.
  2. Digite a expressão ou clique no botão ConstruirImagem do botão na caixa de propriedade para criar uma expressão usando o Construtor de Expressões.

 Observação   Não preceda a expressão com o operador =.

  1. Para personalizar o texto que será exibido se um usuário inserir dados que não correspondem com a regra de validação, digite o texto desejado na propriedade Texto de Validação.

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

Definir valores padrão para um campo de tabela

Uma expressão pode ser usada para especificar um valor padrão de um campo em uma tabela. Por exemplo, vamos supor que você queira inserir automaticamente a data e a hora em um campo chamado DataDoPedido quando adicionar um novo registro. Para fazer isso, você pode usar a expressão a seguir:

Agora()

Especificar um valor padrão para um campo em uma tabela

  1. No Painel de Navegação, clique duas vezes na tabela a ser alterada.

O Access abrirá a tabela no modo Folha de Dados.

  1. Selecione o campo que você deseja alterar.
  2. Na guia Campos, no grupo Propriedades, clique em Valor Padrão.

O Access exibirá a caixa de diálogo Construtor de Expressões.

  1. Digite sua expressão na caixa, começando-a com um sinal de igualdade (=).

 Observação   Caso você vincule um controle a um campo de tabela e ambos tiverem valores padrão, o valor padrão do controle terá precedência sobre o campo de tabela.

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

Definir valores padrão para controles

Outro local comum para o uso de uma expressão é na propriedade Valor Padrão de um controle. A propriedade Valor Padrão de um controle se comporta de forma semelhante à propriedade Valor Padrão de um campo em uma tabela. Por exemplo, para usar a data atual como valor padrão para uma caixa de texto, você poderá usar a seguinte expressão:

Data()

Essa expressão usa a função Data para retornar a data atual, mas não a hora. Se você associar a caixa de texto a um campo de tabela e o campo tiver um valor padrão, o valor padrão do controle terá precedência sobre o campo da tabela. Geralmente, o mais conveniente é definir a propriedade Valor Padrão para o campo na tabela. Dessa forma, se você basear vários controles de diferentes formulários no mesmo campo de tabela, o mesmo valor padrão será aplicado a cada controle, ajudando a garantir a entrada de dados consistentes em cada formulário.

Inserir um valor padrão para um controle

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário ou no relatório a ser alterado e clique em Modo Design ou em Modo Layout no menu de atalho.
  2. Selecione o controle que você deseja alterar.
  3. Se a folha de propriedades ainda não estiver em exibição, pressione F4 para exibi-la.
  4. Clique na guia Todos da folha de propriedades e clique na caixa de propriedade Valor Padrão.
  5. Digite a expressão ou clique no botão ConstruirImagem do botão na caixa de propriedade para criar uma expressão usando o Construtor de Expressões.

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

Controlar quais ações de macro são executadas

Em alguns casos, convém executar uma ação ou uma série de ações em uma macro apenas se uma condição específica for verdadeira. Por exemplo, suponha que você deseja que uma ação de macro seja executada somente quando o valor em uma caixa de texto for maior ou igual a 10. Para definir essa regra, use uma expressão em um bloco Se da macro para definir a condição na macro.

Neste exemplo, imagine que a caixa de texto seja denominada "Itens". A expressão que define a condição é [Itens]>=10.

Uma expressão usada em um bloco Se de uma macro.

Inserir uma expressão em um bloco Se de uma macro

  1. No Painel de Navegação, clique com o botão direito do mouse na macro que você deseja alterar e clique em Modo Design no menu de atalho.
  2. Clique no bloco Se que você deseja modificar ou adicione um bloco Se no painel Catálogo de Ações.
  3. Clique na linha superior do bloco Se.
  4. Digite a expressão condicional na caixa ou clique no botão ConstruirImagem do botão ao lado da caixa de expressão para iniciar o Construtor de Expressões.

 Observação   A expressão digitada deve ser booliana, o que significa que é resolvida como Verdadeiro ou Falso. As ações de macro do bloco Se são executadas apenas quando a condição é resolvida como Verdadeiro.

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

Agrupar e classificar dados em relatórios

Use o painel Agrupar, Classificar e Total para definir os níveis de agrupamento e as ordens de classificação dos dados em um relatório. Em geral, você agrupa ou classifica em um campo que é selecionado em uma lista. No entanto, se quiser agrupar ou classificar em um valor calculado, você poderá inserir uma expressão.

Agrupar é o processo de combinar colunas que contenham valores duplicados. Por exemplo, suponha que o banco de dados contenha informações de vendas de escritórios em cidades diferentes, e que um dos relatórios do banco de dados se chame "Vendas por Cidade". A consulta que fornece os dados desse relatório agrupa os dados por valores de cidade. Esse tipo de agrupamento pode tornar as informações fáceis de ler e entender.

Em comparação, classificação é o processo de impor uma ordem nas linhas (os registros) dos resultados da consulta. Por exemplo, você pode classificar os registros por seus valores de chave primária (ou outro conjunto de valores em outro campo) na ordem ascendente ou descendente, ou pode classificá-los por um ou mais caracteres em uma ordem especificada, por exemplo, alfabética.

Adicionar agrupamento e classificação a um relatório

  1. No Painel de Navegação, clique com o botão direito do mouse no relatório a ser alterado e clique em Modo Design ou em Modo Layout no menu de atalho.
  2. Na guia Design, no grupo Agrupamento e Totais, clique em Agrupar e Classificar.

O painel Agrupar, Classificar e Total é exibido abaixo do relatório.

  1. Para adicionar um nível de agrupamento ao relatório, clique em Adicionar um grupo.
  2. Para adicionar uma ordem de classificação ao relatório, clique em Adicionar uma classificação.

Um novo nível de grupo ou uma nova ordem de classificação será exibido no painel, além da lista dos campos que fornecem dados para o relatório. Esta figura mostra um novo nível de grupo típico (agrupamento em Categoria) e uma ordem de classificação (classificação em Fabricante), além da lista contendo os campos disponíveis para agrupamento e classificação:

Escolhendo a opção de expressão no painel Agrupar, Classificar e Total.

  1. Na lista de campos disponíveis, clique em expressão para iniciar o Construtor de Expressões.
  2. Insira a expressão desejada na caixa de expressão (superior) do Construtor de Expressões. Certifique-se de iniciar a expressão com o operador sinal de igual (=).

Adicionar uma expressão a um grupo ou classificação existente

  1. No Painel de Navegação, clique com o botão direito do mouse no relatório a ser alterado e clique em Modo Design ou em Modo Layout no menu de atalho.
  2. Clique no nível de grupo ou na ordem classificação que você deseja alterar.
  3. Clique na seta para baixo, ao lado de Agrupar (para níveis de agrupamento) ou de Classificar por (para ordens de classificação).

Uma lista que contém os campos disponíveis é exibida.

  1. No final da lista que contém os campos, clique em expressão para iniciar o Construtor de Expressões.
  2. Insira a expressão na caixa de expressão (superior) do Construtor de Expressões. Certifique-se de iniciar a expressão com o operador sinal de igual (=).

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

 
 
Aplica-se a:
Access 2010, SharePoint Server 2010