Exemplos de expressões

Este artigo fornece exemplos de expressões. Uma expressão é uma combinação de operadores matemáticos ou lógicos, constantes, funções, campos de tabela, controles e propriedades que são avaliados para um único valor. Você pode usar expressões para calcular valores, validar dados e definir um valor padrão para um campo ou controle.

 Observação   Embora este artigo forneça etapas básicas para a criação de expressões, ele não é um guia abrangente para o uso das ferramentas que o Microsoft Office Access 2007 fornece para criar expressões. Para obter mais informações sobre a criação de expressões, consulte o artigo Criar uma expressão.

Neste artigo


Entender expressões

No Office Access 2007, o termo expressão é sinônimo de fórmula. Uma expressão consiste em diversos elementos possíveis que você pode usar, sozinhos ou em combinação, para produzir um resultado. Esses elementos incluem:

  • Identificadores — os nomes dos campos de tabela ou controles em formulários ou relatórios, ou as propriedades desses campos ou controles
  • Operadores, como + (mais) ou - (menos)
  • Funções, como SUM ou AVG
  • Constantes — valores que não se alteram — como seqüências de texto ou números que não são calculados por uma expressão.

Você pode usar expressões de diversas formas — para executar um cálculo, recuperar o valor de um controle ou fornecer critérios a uma consulta, entre outros.

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

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

Exemplos de expressões utilizadas em formulários e relatórios

As tabelas nesta seção fornecem exemplos de expressões que calculam um valor em um controle localizado em um formulário ou relatório. Para criar um controle calculado, insira uma expressão na propriedade FonteDoControle do controle, em vez de em um campo de tabela ou consulta.

As etapas a seguir explicam como inserir uma expressão em um controle de caixa de texto ou em um formulário ou relatório existente.

Criar um controle calculado

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário ou relatório que deseja alterar e clique em Modo DesignImagem do botão no menu de atalho.
  2. No formulário ou relatório, clique com o botão direito do mouse no controle da caixa de texto que você deseja alterar (não no rótulo associado à caixa de texto) e, em seguida, clique em Propriedades no menu de atalho.
  3. Se necessário, clique na guia Tudo ou na guia Dados. As duas guias fornecem a propriedade Fonte do Controle.
  4. Clique na caixa ao lado da propriedade Fonte do Controle e digite sua expressão. Por exemplo, você pode copiar e colar uma expressão a partir da coluna Expressão na tabela da seção a seguir.
  5. Feche a folha de propriedades.

Expressões que combinam ou manipulam texto

As expressões na tabela a seguir usam os operadores & (E comercial) e + (adição) para combinar seqüências de texto, funções internas para manipular uma seqüência de texto ou de outra forma operar em texto para criar um controle calculado.

Expressão Resultado
="N/A" Exibe N/A.
=[Nome] & " " & [Sobrenome] Exibe os valores que residem nos campos de tabela denominados Nome e Sobrenome. Neste exemplo, o operador & é utilizado para combinar o campo Nome, um caractere de espaço (incluído entre aspas) e o campo Sobrenome.
=Left([NomeDoProduto], 1) Usa a função Left para exibir o primeiro caractere do valor de um campo ou controle denominado NomeDoProduto.
=Right([CódigoDoAtivo], 2) Usa a função Right para exibir os dois últimos caracteres do valor de um campo ou controle denominado CódigoDoAtivo.
=Trim([Endereço]) Usa a função Trim para exibir o valor do controle Endereço, removendo quaisquer espaços à esquerda ou à direita.
=IIf(IsNull([Região]), [Cidade] & " " & [CEP], [Cidade] & " " & [Região] & " " & [CEP]) Usa a função IIf para exibir os valores dos controles Cidade e CEP se o valor do controle Região for nulo; caso contrário, exibe os valores dos controles Cidade, Região e CEP, separados por espaços.
=[Cidade] & (" " + [Região]) & " " & [CEP]

Usa o operador + e a propagação de nulo para exibir os valores dos controles Cidade e CEP se o valor do campo ou controle Região for nulo; caso contrário, exibe os valores dos campos ou controles Cidade, Região e CEP, separados por espaços.

A propagação de nulo significa que se algum componente de uma expressão for nulo, a expressão inteira também será nula. O operador + oferece suporte à propagação de nulo; o operador & não.

Expressões em cabeçalhos e rodapés

As propriedades Página e Páginas são utilizadas para exibir ou imprimir números de página em formulários ou relatórios. As propriedades Página e Páginas estão disponíveis somente durante a impressão ou visualização da impressão, portanto não aparecem na folha de propriedades do formulário ou relatório. Normalmente, você usa essas propriedades colocando uma caixa de texto na seção do cabeçalho ou rodapé do formulário ou relatório e, em seguida, usando uma expressão, como as mostradas na tabela a seguir.

Para obter mais informações sobre como usar cabeçalhos e rodapés em formulários e relatórios, consulte o artigo Inserir números de página em um formulário ou relatório.

Expressão Exemplo de resultado
=[Página] 1
="Página " & [Página] Página 1
="Página " & [Página] & " de " & [Páginas] Página 1 de 3
=[Página] & " de " & [Páginas] & " Páginas" 1 de 3 Páginas
=[Página] & "/" & [Páginas] & " Páginas" 1/3 Páginas
=[País/região] & " - " & [Página] RU - 1
=Format([Página], "000") 001
="Impresso em: " & Date() Impresso em: 31/12/07

Expressões que executam operações aritméticas

É possível usar expressões para adicionar, subtrair, multiplicar e dividir os valores em dois ou mais campos ou controles. Você também pode usar expressões para executar operações aritméticas com datas. Por exemplo, suponha que exista um campo de tabela Data/Hora denominado DataDeEntrega. No campo ou em um controle vinculado ao campo, a expressão =[DataDeEntrega] - 2 retorna um valor data/hora igual a dois dias antes dos valores atuais no campo DataDeEntrega.

Expressão Resultado
=[Subtotal]+[Frete] A soma dos valores dos campos ou controles Subtotal e Frete.
=[DataDeEntrega]-[DataDeEnvio] O intervalo entre os valores de data dos campos ou controles DataDeEntrega e DataDeEnvio.
=[Preço]*1,06 O produto do valor do campo ou controle Preço e 1,06 (adiciona 6% ao valor do Preço).
=[Quantidade]*[Preço] O produto dos valores dos campos ou controles Quantidade e Preço.
=[TotalDeFuncionários]/[TotalDoPaísRegião] O quociente dos valores dos campos ou controles TotalDeFuncionários e TotalDoPaísRegião.

 Observação   Quando você utilizar um operador aritmético (+, -, * e /) em uma expressão e o valor de um dos controles na expressão for nulo, o resultado de toda a expressão será nulo — isso é conhecido como propagação de Nulo. Se algum registro em um dos controles utilizados na expressão puder ter um valor nulo, você poderá evitar a propagação de Nulo convertendo o valor nulo em zero, usando a função Nz — por exemplo,=Nz([Subtotal])+Nz([Frete]).

Para obter mais informações sobre a função, consulte o artigo Função Nz.

Expressões que se referem a valores em outros campos ou controles

Às vezes, você precisa de um valor que existe em algum outro lugar, como em um campo ou controle em outro formulário ou relatório. É possível usar uma expressão para retornar o valor de outro campo ou controle.

A tabela a seguir lista exemplos de expressões que você pode utilizar em controles calculados em formulários.

Expressão Resultado
=Forms![Pedidos]![CódigoDoPedido] O valor do controle CódigoDoPedido no formulário Pedidos.
=Forms![Pedidos]![Subformulário Pedidos].Form![SubtotalDoPedido] O valor do controle SubtotalDoPedido no subformulário denominado Subformulário Pedidos do formulário Pedidos.
=Forms![Pedidos]![Subformulário Pedidos]![CódigoDoProduto].Coluna(2) O valor da terceira coluna no CódigoDoProduto, uma caixa de listagem com várias colunas no subformulário denominado Subformulário Pedidos do formulário Pedidos. (Observe que 0 se refere à primeira coluna, 1 se refere à segunda e assim por diante.)
=Forms![Pedidos]![Subformulário Pedidos]![Preço] * 1,06 O produto do valor do controle Preço no subformulário denominado Subformulário Pedidos do formulário Pedidos e 1,06 (adiciona 6% ao valor do controle Preço).
=Parent![CódigoDoPedido] O valor do controle CódigoDoPedido no formulário principal ou pai do subformulário atual.

As expressões na tabela a seguir mostram algumas formas de uso de controles calculados em relatórios. As expressões fazem referência à propriedade Report.

Para obter mais informações sobre essa propriedade, consulte o artigo Propriedade Report.

Expressão Resultado
=Report![Fatura]![CódigoDoPedido] O valor de um controle denominado "CódigoDoPedido" em um relatório denominado "Fatura".
=Report![Resumo]![Sub-relatório Resumo]![TotalDeVendas] O valor do controle TotalDeVendas no sub-relatório denominado Sub-relatório Resumo do relatório Resumo.
=Parent![CódigoDoPedido] O valor do controle CódigoDoPedido no relatório principal ou pai do sub-relatório atual.

Expressões que contam, somam e calculam a média de valores

Você pode usar um tipo de função chamado de função de agregação para calcular valores para um ou mais campos ou controles. Por exemplo você pode calcular um total de grupo para o rodapé do grupo em um relatório, ou um subtotal do pedido para os itens de linha em um formulário. Você também pode contar o número de itens em um ou mais campos ou calcular um valor médio.

As expressões na tabela a seguir mostram algumas das formas de uso de funções como Avg, Count e Sum.

Expressão Descrição
=Avg([Frete]) Usa a função Avg para exibir a média dos valores de um campo de tabela ou controle denominado "Frete".
=Count([CódigoDoPedido]) Usa a função Count para exibir o número de registros no controle CódigoDoPedido.
=Sum([Vendas]) Usa a função Sum para exibir a soma dos valores do controle Vendas.
=Sum([Quantidade]*[Preço]) Usa a função Sum para exibir a soma do produto dos valores dos controles Quantidade e Preço.
=[Vendas]/Sum([Vendas])*100

Exibe a percentagem de vendas, determinada pela divisão do valor do controle Vendas pela soma de todos os valores do controle Vendas.

 Observação   Se você definir a propriedade Formato do controle como Porcentagem, não inclua *100 na expressão.

Para obter mais informações sobre o uso de funções de agregação e a totalização de valores em campos e colunas, consulte os artigos Somar dados usando uma consulta, Contar dados usando uma consulta, Contar as linhas de uma folha de dados e Exibir totais de colunas em uma folha de dados.

Expressões que contam, somam e pesquisam valores seletivamente usando funções de agregação de domínio

Você usa um tipo de função chamada função de agregação de domínio quando precisar somar ou contar valores seletivamente. Um "domínio" consiste em um ou mais campos de uma ou mais tabelas, ou em um ou mais controles de um ou mais formulários ou relatórios. Por exemplo, você pode corresponder os valores em um campo de tabela com os valores em um controle de um formulário.

Expressão Descrição
=DLookup("[NomeDoContato]", "[Fornecedores]", "[IDFornecedor] = " & Forms("Fornecedores")("[IDFornecedor]")) Usa a função DLookup para retornar o valor do campo NomeDoContato na tabela Fornecedores, em que o valor do campo IDFornecedor na tabela corresponda ao valor do controle IDFornecedor no formulário Fornecedores.
=DLookup("[NomeDoContato]", "[Fornecedores]", "[IDFornecedor] = " & Forms![Novos Fornecedores]![IDFornecedor]) Usa a função DLookup para retornar o valor do campo NomeDoContato na tabela Fornecedores, em que o valor do campo IDFornecedor na tabela corresponda ao valor do controle IDFornecedor no formulário Novos Fornecedores.
=DSum("[ValorDoPedido]", "[Pedidos]", "[IDCliente] = 'RATTC'") Usa a função DSum para retornar a soma total dos valores no campo ValorDoPedido na tabela Pedidos, em que o IDCliente seja RATTC.
=DCount("[Aposentado]","[Ativos]","[Aposentado]=Sim") Usa a função DCount para retornar a quantidade de valores Sim no campo Aposentado (um campo Sim/Não) na tabela Ativos.

Expressões que manipulam e calculam datas

Monitorar datas e horas é uma atividade fundamental do banco de dados. Por exemplo, você pode calcular quantos dias foram decorridos desde a data da fatura para sazonar as contas a receber. Você pode formatar datas e horas de diversas formas, conforme mostrado na tabela a seguir.

Expressão Descrição
=Date() Usa a função Date para exibir a data atual no formato dd-mm-aa, em que dd é o dia (1 a 31), mm é o mês (1 a 12) e aa são os dois últimos dígitos do ano (1980 a 2099).
=Format(Now(), "ww") Usa a função Format para exibir o número da semana do ano da data atual, em que ww representa as semanas de 1 a 53.
=DatePart("yyyy", [DataDoPedido]) Usa a função DatePart para exibir o ano com quatro dígitos do valor do controle DataDoPedido.
=DateAdd("y", -10, [DataPrometida]) Usa a função DateAdd para exibir uma data que ocorre 10 dias antes do valor do controle DataPrometida.
=DateDiff("d", [DataDoPedido], [DataDeEnvio]) Usa a função DateDiff para exibir o número de diferença em dias entre os valores dos controles DataDoPedido e DataDeEnvio.
=[DataDaFatura] + 30 Usa operações aritméticas com datas para calcular a data que ocorre 30 dias após a data no campo ou controle DataDaFatura.

Expressões condicionais que retornam um entre dois valores possíveis

Os exemplos de expressões na tabela a seguir usam a função IIf para retornar um entre dois valores possíveis. Você passa três argumentos para a função IIf: O primeiro argumento é uma expressão que deve retornar um valor True ou False. O segundo argumento é o valor a ser retornado se a expressão for verdadeira e o terceiro é o valor a ser retornado se a expressão for falsa.

Expressão Descrição
=IIf([Confirmado] = "Sim", "Pedido Confirmado", "Pedido Não Confirmado") Usa a função IIf (Immediate If) para exibir a mensagem "Pedido Confirmado" se o valor do controle Confirmado for Sim; caso contrário, exibe a mensagem "Pedido Não Confirmado".
=IIf(IsNull([País/região]), " ", [País]) Usa as funções IIf e IsNull para exibir uma seqüência de caracteres vazia se o valor do controle País/região for nulo; caso contrário, exibe o valor do controle País/região.
=IIf(IsNull([Região]),[Cidade]&" "& [CEP], [Cidade]&" "&[Região]&" " &[CEP]) Usa as funções IIf e IsNull para exibir os valores dos controles Cidade e CEP se o valor no controle Região for nulo; caso contrário, exibe os valores dos campos ou controles Cidade, Região e CEP.
=IIf(IsNull([DataDeEntrega]) Or IsNull([DataDeEnvio]), "Verifique se falta alguma data", [DataDeEntrega] - [DataDeEnvio]) Usa as funções IIf e IsNull para exibir a mensagem "Verifique se falta alguma data" se o resultado da subtração de DataDeEnvio de DataDeEntrega for nulo; caso contrário, exibe o intervalo entre os valores de data dos controles DataDeEntrega e DataDeEnvio.

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

Exemplos de expressões utilizadas em consultas e filtros

Esta seção contém exemplos de expressões que podem ser utilizadas para criar um campo calculado em uma consulta ou para fornecer critérios a uma consulta. Um campo calculado é uma coluna em uma consulta que resulta de uma expressão. Por exemplo, você pode calcular um valor, combinar valores de texto como nome e sobrenome ou formatar uma parte de uma data.

Você usa critérios em uma consulta para limitar os registros com os quais trabalha. Por exemplo, você pode usar o operador Between para fornecer uma data inicial e final e limitar os resultados da consulta para pedidos que foram enviados entre essas datas.

As seções a seguir explicam como adicionar um campo calculado a uma consulta e fornecem exemplos de expressões para uso em consultas.

Adicionar 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. Você pode inserir um nome para o campo, seguido por dois-pontos, ou pode digitar sua expressão. Se você não inserir um nome, o Access adicionará Exprn:, onde n é um número seqüencial.
  3. Digite sua expressão.

-ou-

Na guia Design, no grupo Configuração da Consulta, clique em Construtor para iniciar o Construtor de Expressões.

Para obter mais informações sobre como usar o Construtor de Expressões, consulte o artigo Criar uma expressão.

Expressões que manipulam texto em uma consulta ou um filtro

As expressões na tabela a seguir usam os operadores & e + para combinar seqüências de texto, usam funções internas para operar uma seqüência de texto ou de outra forma operar em texto para criar um campo calculado.

Expressão Descrição
NomeCompleto: [Nome] & " " & [Sobrenome] Cria um campo denominado NomeCompleto que exibe os valores dos campos Nome e Sobrenome, separados por um espaço.
Endereço2: [Cidade] & " " & [Região] & " " & [CEP] Cria um campo denominado Endereço2 que exibe os valores dos campos Cidade, Região e CEP, separados por espaços.
InicialDoProduto:Left([NomeDoProduto], 1) Cria um campo denominado InicialDoProduto e, em seguida, usa a função Left para exibir, no campo InicialDoProduto, o primeiro caractere do valor do campo NomeDoProduto.
CódigoTipo: Right([CódigoDoAtivo], 2) Cria um campo denominado CódigoTipo e, em seguida, usa a função Right para exibir os dois últimos caracteres dos valores do campo CódigoDoAtivo.
CódigoDeÁrea: Mid([Telefone],2,3) Cria um campo denominado CódigoDeÁrea e, em seguida, usa a função Mid para exibir os três caracteres que iniciam no segundo caractere do valor do campo Telefone.

Expressões que executam operações aritméticas em campos calculados

É possível usar expressões para adicionar, subtrair, multiplicar e dividir os valores em dois ou mais campos ou controles. Você também pode executar operações aritméticas com datas. Por exemplo, suponha que exista um campo Data/Hora denominado DataDeEntrega. A expressão =[DataDeEntrega] - 2 retorna um valor Data/Hora igual a dois dias antes do valor do campo DataDeEntrega.

Expressão Descrição
FreteEspecial: [Frete] * 1,1 Cria um campo denominado FreteEspecial e, em seguida, exibe os encargos de frete mais 10% no campo.
ValorDoPedido: [Quantidade] * [PreçoUnitário] Cria um campo denominado ValorDoPedido e, em seguida, exibe o produto dos valores dos campos Quantidade e PreçoUnitário.
Adiantamento: [DataDeEntrega] - [DataDeEnvio] Cria um campo denominado Adiantamento e, em seguida, exibe a diferença entre os valores dos campos DataDeEntrega e DataDeEnvio.
EstoqueTotal: [UnidadesEmEstoque]+[UnidadesDoPedido] Cria um campo denominado EstoqueTotal e, em seguida, exibe a soma dos valores dos campos UnidadesEmEstoque e UnidadesDoPedido.
PercentualDoFrete: Sum([Frete])/Sum([Subtotal]) *100

Cria um campo denominado PercentualDoFrete e, em seguida, exibe o percentual dos encargos de frete em cada subtotal. Essa expressão usa a função Sum para totalizar os valores do campo Frete e, em seguida, divide esses totais pela soma dos valores do campo Subtotal.

Para usar essa expressão, é necessário converter a consulta de seleção em uma consulta de Totais, porque você precisa usar a linha Total na grade de design e precisa definir a célula Total desse campo como Expressão.

Para obter mais informações sobre como criar uma consulta de Totais, consulte o artigo Somar dados usando uma consulta.

Se você definir a propriedade Formato do campo como Porcentagem, não inclua *100.

Para obter mais informações sobre o uso de funções de agregação e a totalização de valores em campos e colunas, consulte os artigos Somar dados usando uma consulta, Contar dados usando uma consulta, Contar as linhas de uma folha de dados e Exibir totais de colunas em uma folha de dados.

Expressões que manipulam e calculam com datas em campos calculados

Quase todos os bancos de dados armazenam e monitoram datas e horas. Para trabalhar com datas e horas no Access, configure os campos de data e hora em suas tabelas para o tipo de dados Data/Hora. O Access pode executar cálculos aritméticos com datas; por exemplo, você pode calcular quantos dias foram decorridos desde a data da fatura para sazonar as contas a receber.

Expressão Descrição
DecursoDeTempo: DateDiff("d", [DataDoPedido], [DataDeEnvio]) Crie um campo denominado DecursoDeTempo e, em seguida, usa a função DateDiff para exibir o número de dias entre a data do pedido e a data de envio.
AnoDeContratação: DatePart("yyyy",[DataDeContratação]) Cria um campo denominado AnoDeContratação e, em seguida, usa a função DatePart para exibir o ano em que cada funcionário foi contratado.
MenosTrinta: Date( )- 30 Cria um campo denominado MenosTrinta e, em seguida, usa a função Date para exibir a data 30 dias antes da data atual.

Expressões que contam, somam e calculam a média de valores usando funções de agregação SQL ou funções de agregação de domínio

As expressões na tabela a seguir usam funções SQL (Structured Query Language) que agregam ou resumem dados. Normalmente essas funções (por exemplo, Sum, Count e Avg) são referidas como funções de agregação.

Além das funções de agregação, o Access também fornece funções de agregação de "domínio" utilizadas para somar ou contar valores seletivamente. Por exemplo, você pode contar somente os valores em um determinado intervalo ou pesquisar um valor de outra tabela. O conjunto de funções de agregação de domínio inclui a Função DSum, a Função DCount e a Função DAvg.

Para calcular totais, freqüentemente será necessário criar uma consulta de totais. Por exemplo, para resumir por grupo, você precisa usar uma consulta de Totais. Para habilitar uma consulta de totais a partir da grade de design da consulta, clique em Totais no menu Exibir.

Expressão Descrição
ContagemDeLinhas:Count(*) Cria um campo denominado ContagemDeLinhas e, em seguida, usa a função Count para contar o número de registros na consulta, incluindo registros com campos nulos (em branco).
PercentualDoFrete: Sum([Frete])/Sum([Subtotal]) *100

Cria um campo denominado PercentualDoFrete e, em seguida, calcula o percentual de encargos de frete em cada subtotal, dividindo a soma dos valores do campo Frete pela soma dos valores do campo Subtotal. (Este exemplo usa a função Sum.)

 Observação   Você deve usar essa expressão com uma consulta de Totais. Se você definir a propriedade Formato do campo como Porcentagem, não inclua *100.

.

Para obter mais informações sobre como criar uma consulta de Totais, consulte o artigo Somar dados usando uma consulta.

FreteMédio: DAvg("[Frete]", "[Pedidos]") Cria um campo denominado FreteMédio e, em seguida, usa a função DAvg para calcular o frete médio de todos os pedidos combinados em uma consulta de Totais.

Expressões para trabalhar com campos com informações ausentes (campos com valores nulos)

As expressões mostradas aqui trabalham com campos com informações potencialmente ausentes, como aquelas que contêm valores nulos (desconhecidos ou indefinidos). É comum encontrar valores nulos, como um preço desconhecido de um novo produto ou um valor que um colega de trabalho esqueceu de adicionar a um pedido. A capacidade de localizar e processar valores nulos pode ser uma parte crítica das operações de banco de dados, e as expressões na tabela a seguir demonstram algumas formas comuns de lidar com valores nulos.

Expressão Descrição
PaísRegiãoAtual:IIf(IsNull([PaísRegião]), " ", [PaísRegião]) Cria um campo denominado PaísRegiãoAtual e, em seguida, usa as funções IIf e IsNull para exibir uma seqüência de caracteres vazia nesse campo, quando o campo PaísRegião contiver um valor nulo; caso contrário, exibe o conteúdo do campo PaísRegião.
Adiantamento: IIf(IsNull([DataDeEntrega] - [DataDeEnvio]), "Verifique se falta alguma data", [DataDeEntrega] - [DataDeEnvio]) Cria um campo denominado Adiantamento e, em seguida, usa as funções IIf e IsNull para exibir a mensagem "Verifique se falta alguma data" se o valor do campo DataDeEntrega ou do campo DataDeEnvio for nulo; caso contrário, exibe a diferença de datas.
VendasDeSeisMeses: Nz([VendasTr1]) + Nz([VendasTr2]) Cria um campo denominado VendasDeSeisMeses e, em seguida, exibe o total dos valores dos campos VendasTr1 e VendasTr2, usando primeiramente a função Nz para converter quaisquer valores nulos em zero.

Expressão que usa uma subconsulta para criar um campo calculado

Você pode usar uma consulta aninhada, também chamada de subconsulta, para criar um campo calculado. A expressão na tabela a seguir é um exemplo de um campo calculado que resulta de uma subconsulta.

Expressão Descrição
Cat: (SELECT [NomeDaCategoria] FROM [Categorias] WHERE [Produtos].[CódigoDaCategoria]=[Categorias].[CódigoDaCategoria]) Cria um campo denominado Cat e, em seguida, exibe o NomeDaCategoria, se o CódigoDaCategoria da tabela Categorias for o mesmo que o CódigoDaCategoria da tabela Produtos.

Expressões que definem critérios e limitam os registros no conjunto de resultados

Você pode usar uma expressão para definir critérios para uma consulta. Então, o Access retornará somente as linhas que correspondem aos critérios. As etapas nesta seção fornecem informações básicas sobre como adicionar critérios a uma consulta e as tabelas nesta seção fornecem exemplos de critérios para corresponder valores de texto e data.

Adicionar critérios a uma consulta

  1. No Painel de Navegação, clique com o botão direito do mouse na consulta que deseja alterar e clique em Modo DesignImagem do botão no menu de atalho.
  2. Na linha Critérios da grade de design, clique na célula da coluna que você deseja usar e, em seguida, digite os critérios.

Se você deseja uma área maior para digitar uma expressão, pressione SHIFT+F2 para exibir a caixa Zoom.

-ou-

Na guia Design, no grupo Configuração da Consulta, clique em ConstrutorImagem do botão para iniciar o Construtor de Expressões e criar sua expressão.

 Observação   Quando você criar expressões que definem critérios, não preceda as expressões com o operador =.

Para obter mais informações sobre como usar o Construtor de Expressões, consulte o artigo Criar uma expressão.

Expressões que correspondem valores de texto parciais ou inteiros

Os exemplos de expressões nesta tabela demonstram critérios que correspondem valores de texto parciais ou inteiros.

Campo Expressão Descrição
CidadeDeEnvio "Londres" Exibe os pedidos enviados para Londres.
CidadeDeEnvio "Londres" Or "Hedge End" Usa o operador Or para exibir os pedidos enviados para Londres ou Hedge End.
PaísRegiãoDeEnvio In("Canadá", "RU") Usa o operador In para exibir os pedidos enviados para o Canadá ou o RU.
PaísRegiãoDeEnvio Not "EUA" Usa o operador Not para exibir os pedidos enviados para países/regiões que não sejam os EUA.
NomeDoProduto Not Like "C*" Usa o operador Not e o caractere curinga * para exibir produtos cujos nomes não comecem com C.
NomeDaEmpresa >="N" Exibe os pedidos enviados para empresas cujos nomes iniciem com as letras de N a Z.
CódigoDoProduto Right([CódigoDoProduto], 2)="99" Usa a função Right para exibir os pedidos com valores de CódigoDoProduto que terminem com 99.
NomeDoEnvio Like "S*" Exibe os pedidos enviados para clientes cujos nomes iniciam com a letra S.

Expressões que usam datas em critérios de correspondência

As expressões na tabela a seguir demonstram o uso de datas e funções relacionadas em expressões de critérios.

Para obter mais informações sobre como inserir e usar valores de data, consulte o artigo Inserir um valor de data ou hora. Para obter informações sobre como usar as funções nesses exemplos de expressões, clique nos links dos diversos tópicos de funções.

Campo Expressão Descrição
Data de envio #02.02.07# Exibe os pedidos enviados em 2 de fevereiro de 2007.
Data de envio Date( ) Exibe os pedidos enviados hoje.
DataDeEntrega Between Date( ) And DateAdd("m", 3, Date( )) Usa o operador Between...And e as funções DateAdd e Date para exibir os pedidos requeridos entre a data de hoje e três meses a partir da data de hoje.
DataDoPedido < Data() - 30 Usa a função Date para exibir os pedidos com mais de 30 dias.
DataDoPedido Year([DataDoPedido])=2007 Usa a função Year para exibir os pedidos com datas do pedido em 2007.
DataDoPedido DatePart("q", [DataDoPedido])=4 Usa a função DatePart para exibir os pedidos do quarto trimestre do calendário.
DataDoPedido DateSerial(Year ([DataDoPedido]), Month([DataDoPedido])+1, 1)-1 Usa as funções DateSerial, Year e Month para exibir os pedidos do último dia de cada mês.
DataDoPedido Year([DataDoPedido])= Year(Now()) And Month([DataDoPedido])= Month(Now()) Usa as funções Year e Month e o operador And para exibir os pedidos do ano e mês atuais.
Data de envio Entre #05.01.07# e #10.01.07# Usa o operador Between...And para exibir os pedidos enviados não antes de 5-Jan-2007 e não depois de 10-Jan-2007.
DataDeEntrega Entre Data() e DateAdd("M", 3, Data()) Usa o operador Between...And para exibir os pedidos requeridos entre a data de hoje e três meses a partir da data de hoje.
DataDeNascimento Month([DataDeNascimento])=Month(Date()) Usa as funções Month e Date para exibir os funcionários que fazem aniversário neste mês.

Expressões que correspondem um valor ausente (nulo) ou uma seqüência de caracteres de comprimento zero

As expressões na tabela a seguir trabalham com campos que têm informações potencialmente ausentes — aqueles que podem conter um valor nulo ou uma seqüência de caracteres de comprimento zero. Um valor nulo representa a ausência de informações; ele não representa um zero ou qualquer outro valor. O Access oferece suporte a essa idéia de informações ausentes porque o conceito é vital para a integridade de um banco de dados. No mundo real, as informações freqüentemente estão faltando, mesmo que apenas temporariamente (por exemplo, o ainda indeterminado preço de um novo produto). Portanto, um banco de dados que modelo uma entidade do mundo real, como um negócio, deve poder registrar informações como ausentes. Você pode usar a função IsNull para determinar se um campo ou controle contém um valor nulo, e pode usar a função Nz para converter um valor nulo em zero.

Campo Expressão Descrição
RegiãoDeEnvio É nulo Exibe os pedidos de clientes cujo campo RegiãoDeEnvio é nulo (ausente).
RegiãoDeEnvio Não é nulo Exibe os pedidos de clientes cujo campo RegiãoDeEnvio contém um valor.
Fax "" Exibe os pedidos de clientes que não têm fax, o que é indicado por um valor de seqüência de caracteres com comprimento zero no campo Fax em vez de um valor nulo (ausente).

Expressões que usam padrões para corresponder registros

O operador Like fornece um alto grau de flexibilidade quando você está tentando corresponder linhas que seguem um padrão, porque você pode usar Like com caracteres curinga e definir padrões para que o Access corresponda. Por exemplo, o caractere curinga * (asterisco) corresponde uma seqüência de caracteres de qualquer tipo, facilitando a localização de todos os nomes que começam com uma letra. Por exemplo, use a expressão Like "S*" pra localizar todos os nomes que começam com a letra S.

Para obter mais informações, consulte o artigo Operador Like.

Campo Expressão Descrição
NomeDoEnvio Like "S*" Localiza todos os registros no campo NomeDoEnvio que iniciam com a letra S.
NomeDoEnvio Like "*Importações" Localiza todos os registros no campo NomeDoEnvio que terminam com a palavra "Importações".
NomeDoEnvio Como "[A-D]*" Localiza todos os registros no campo NomeDoEnvio que começam com as letras A, B, C ou D.
NomeDoEnvio Como "*ar*" Localiza todos os registros no campo NomeDoEnvio que incluem a seqüência de letras "ar".
NomeDoEnvio Como "Maison Dewe?" Localiza todos os registros no campo NomeDoEnvio que incluem "Maison" na primeira parte do valor e uma seqüência de cinco letras na qual as primeiras quatro são "Dewe" e a última letra é desconhecida.
NomeDoEnvio Not Like "A*" Localiza todos os registros no campo NomeDoEnvio que não iniciam com a letra A.

Expressões que correspondem linhas com base no resultado de uma função de agregação de domínio

Você pode usar uma função de agregação de domínio quando precisar somar, contar ou calcular a média de valores seletivamente. Por exemplo, poderia ser conveniente contar somente os valores que se encontram em um determinado intervalo ou que sejam avaliados como Sim. Outras vezes, poderia ser necessário pesquisar um valor de outra tabela para que você possa exibi-lo. Os exemplos de expressões na tabela a seguir usam as funções de agregação de domínio para executar um cálculo em um conjunto de valores e usam o resultado como os critérios de consulta.

Campo Expressão Descrição
Frete > (DStDev("[Frete]", "Pedidos") + DAvg("[Frete]", "Pedidos")) Usa as funções DStDev e DAvg para exibir todos os pedidos para os quais o custo do frete subam acima da média mais o desvio padrão do custo do frete.
Quantidade > DAvg("[Quantidade]", "[Detalhes do Pedido]") Usa a função DAvg para exibir os produtos ordenados em quantidades acima da média das quantidades do pedido.

Expressões que correspondem com base nos resultados de subconsultas

Você pode usar uma subconsulta, também chamada de consulta aninhada, para calcular um valor para uso como um critério. Os exemplos de expressões na tabela a seguir correspondem linhas com base nos resultados retornados por uma subconsulta.

Campo Expressão Exibe
PreçoUnitário (SELECT [PreçoUnitário] FROM [Produtos] WHERE [NomeDoProduto] = "Xarope de anis") Produtos cujo preço é o mesmo que o do Xarope de anis.
PreçoUnitário >(SELECT AVG([PreçoUnitário]) FROM [Produtos]) Produtos que têm um preço unitário acima da média.
Salário > ALL (SELECT [Salário] FROM [Funcionários] WHERE ([Cargo] LIKE "*Gerente*") OR ([Cargo] LIKE "*Vice-presidente*")) O salário de cada representante de vendas cujo salário é maior do que o dos funcionários que têm as palavras "Gerente" ou "Vice-presidente" em seus cargos.
TotalDoPedido: [PreçoUnitário] * [Quantidade] > (SELECT AVG([PreçoUnitário] * [Quantidade]) FROM [Detalhes do Pedido]) Pedidos com totais maiores que o valor médio dos pedidos.

Expressões para uso em consultas de atualização

Você pode usar uma consulta de atualização para modificar os dados em um ou mais campos existentes em um banco de dados. Por exemplo, você pode substituir valores ou excluí-los completamente. Esta tabela demonstra algumas das formas de uso de expressões em consultas de atualização. Essas expressões são utilizadas na linha Atualizar para na grade de design da consulta para o campo que você deseja atualizar.

Para obter mais informações sobre como criar consultas de atualização, consulte o artigo Criar uma consulta de atualização.

Campo Expressão Resultado
Título "Vendedor" Altera um valor de texto para Vendedor.
InícioDoProjeto #10.08.07# Altera o valor de uma data para 10-Ago-07.
Aposentado Sim Altera um valor Não em um campo Sim/Não para Sim.
NúmeroDaPeça "NP" & [NúmeroDePeça] Adiciona NP ao início de cada número de peça especificado.
TotalDoItemDeLinha [PreçoUnitário] * [Quantidade] Calcula o produto de PreçoUnitário e Quantidade.
Frete [Frete] * 1,5 Aumenta os encargos de frete em 50%.
Sales DSum("[Quantidade] * [PreçoUnitário]",
"Detalhes do Pedido", "[CódigoDoProduto]=" & [CódigoDoProduto])
Onde os valores de CódigoDoProduto da tabela atual coincidem com os valores de CódigoDoProduto da tabela Detalhes do Pedido, atualiza os totais de vendas com base no produto de Quantidade e PreçoUnitário.
CEPDeDestino Right([CEPDeDestino], 5) Trunca os caracteres mais à esquerda, deixando os cinco caracteres mais à direita.
PreçoUnitário Nz([PreçoUnitário]) Altera um valor nulo (indefinido ou desconhecido) para zero (0) no campo PreçoUnitário.

Expressões utilizadas em instruções SQL

O SQL, ou Structured Query Language, é a linguagem de consulta utilizada pelo Access. Toda consulta criada no modo Design da consulta também pode ser expresso usando SQL. Para ver a instrução SQL de qualquer consulta, clique em Modo SQL no menu Exibir. A tabela a seguir mostra exemplos de instruções SQL que empregam uma expressão.

Instrução SQL que usa uma expressão Resultado
SELECT [Nome],[Sobrenome] FROM [Funcionários] WHERE [Sobrenome]="Dias" Exibe os valores dos campos Nome e Sobrenome dos funcionários cujo sobrenome seja Dias.
SELECT [CódigoDoProduto],[NomeDoProduto] FROM [Produtos] WHERE [CódigoDaCategoria]=Forms![Novos Produtos]![CódigoDaCategoria]; Exibe os valores dos campos CódigoDoProduto e NomeDoProduto da tabela Produtos para registros nos quais o valor de CódigoDaCategoria seja coincidente com o valor de CódigoDaCategoria especificado em um formulário Novos Produtos aberto.
SELECT Avg([PreçoEstendido]) AS [Preço Estendido Médio] FROM [Detalhes Adicionais do Pedido] WHERE [PreçoEstendido]>1000; Calcula o preço estendido médio dos pedidos para os quais o valor do campo PreçoEstendido seja maior que 1000, e o exibe em um campo denominado Preço Estendido Médio.
SELECT [CódigoDaCategoria], Count([CódigoDoProduto]) AS [ContagemDeCódigoDoProduto] FROM [Produtos] GROUP BY [CódigoDaCategoria] HAVING Count([CódigoDoProduto])>10; Em um campo denominado ContagemDeCódigoDoProduto, exibe o número total de produtos para categorias com mais de 10 produtos.

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

Exemplos de expressões de valor padrão

Ao projetar um banco de dados, convém atribuir um valor padrão para um campo ou controle. Em seguida, o Access fornece o valor padrão quando um novo registro contendo o campo for criado ou quando um objeto que contém o controle for criado. As expressões na tabela a seguir representam os exemplos de valores padrão para um campo ou controle.

Adicionar um valor padrão a um campo em uma tabela

  1. No Painel de Navegação, clique com o botão direito do mouse na tabela que você deseja alterar e clique em Modo Design no menu de atalho.
  2. Clique no campo que você deseja alterar e, na guia Geral, clique na caixa de propriedade Valor Padrão.
  3. Digite a expressão ou clique no botão ConstruirImagem de botão à direita da caixa de propriedade para criar uma expressão usando o Construtor de Expressões.

Se um controle for vinculado a um campo em uma tabela, e o campo tiver um valor padrão, o valor padrão do controle terá precedência.

Campo Expressão Valor padrão do campo
Quantidade 1 1
Região "MT" MT
Região "Brasília, D.F." Brasília, D.F. (Observe que você deve colocar o valor entre aspas se ele inclui pontuação.)
Fax "" Uma seqüência de caracteres de comprimento zero para indicar que, por padrão, esse campo deve estar vazio em vez de conter um valor nulo
Data do Pedido Date( ) A data de hoje
DataDoVencimento Data() + 60 A data 60 dias após hoje

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

Exemplos de expressões de regra de validação de campo

É possível criar uma regra de validação para um campo ou controle usando uma expressão. Em seguida, o Access impõe a regra quando os dados forem inseridos no campo ou controle. Para criar uma regra de validação, modifique a propriedade RegraDeValidação do campo ou controle. Você também deve considerar a configuração da propriedade TextoDeValidação, que contém o texto que o Access exibe quando a regra de validação é violada. Se você não definir a propriedade TextoDeValidação, o Access exibirá uma mensagem de erro padrão.

Adicionar uma regra de validação a um campo

  1. No Painel de Navegação, clique com o botão direito do mouse na tabela que você deseja alterar e clique em Modo Design no menu de atalho.
  2. Clique no campo que você deseja alterar.
  3. Clique na caixa de propriedade Regra de Validação, localizada na seção inferior do criador de tabelas.
  4. 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 preceda a expressão com o operador = ao criar uma regra de validação.

Os exemplos na tabela a seguir demonstram as expressões da regra de validação para a propriedade RegraDeValidação e o texto associado para a propriedade TextoDeValidação.

Propriedade RegraDeValidação Propriedade TextoDeValidação
<> 0 Insira um valor diferente de zero.
0 Or > 100 O valor deve ser 0 ou maior que 100.
Like "K???" O valor deve ter quatro caracteres, começando com a letra K.
< #01.01.07# Insira uma data anterior a 1/1/2007.
>= #1/1/2007# And < #1/1/2008# A data deve estar em 2007.

Para obter mais informações sobre como validar dados, consulte o artigo Criar uma regra de validação para validar dados em um campo.

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

Exemplos de expressões de condição de macro

Em alguns casos, convém executar uma ação ou 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 seja executada somente quando o valor da caixa de texto Contador for igual a 10. Você usa uma expressão para definir a condição na coluna Condição da macro: [Contador]=10.

Adicionar uma condição a uma ação de 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. Se a coluna Condição não estiver exibida no criador de macros, na guia Design, no grupo Mostrar/Ocultar, clique em Condições.
  3. Clique na célula Condição da ação de macro que você deseja alterar e, em seguida, digite a expressão condicional.
  4. Salve as alterações e feche a macro.

Da mesma forma que a propriedade RegraDeValidação, a expressão da coluna Condição é uma expressão condicional. Ela deve ser resolvida para um valor Verdadeiro ou Falso. A ação ocorrerá somente quando a condição for verdadeira.

Use esta expressão para realizar a ação Se
[Cidade]="Paris" Paris é o valor Cidade no campo do formulário do qual a macro foi executada.
DCount("[CódigoDoPedido]", "Pedidos") > 35 Há mais de 35 entradas no campo CódigoDoPedido da tabela Pedidos.
DCount("*", "[Detalhes do Pedido]", "[CódigoDoPedido]=" & Forms![Pedidos]![CódigoDoPedido]) > 3 Há mais de três entradas na tabela Detalhes do Pedido em que o campo CódigoDoPedido da tabela coincide com o campo CódigoDoPedido no formulário Pedidos.
[DataDeEnvio] Entre #2-Fev-2007# E #2-Mar-2007# O valor do campo DataDeEnvio no formulário de onde a macro é executada não é anterior a 2-Fev-2007 ou posterior 2-Mar-2007.
Forms![Produtos]![UnidadesEmEstoque] < 5 O valor do campo UnidadesEmEstoque no formulário Produtos é menor que 5.
IsNull([Nome]) O valor Nome no formulário do qual a macro é executada é nulo (não possui valor). Essa expressão é equivalente a [Nome] Is Null.
[PaísRegião]="RU" And Forms![TotalDeVendas]![TotalDePedidos] > 100 O valor no campo PaísRegião no formulário do qual a macro é executada é RU e o valor do campo TotalDePedidos no formulário TotalDeVendas é maior que 100.
[PaísRegião] In ("França", "Itália", "Espanha") And Len([CEP])<>5 O valor no campo PaísRegião no formulário do qual a macro é executada é França, Itália ou Espanha e o CEP não pode ter 5 caracteres.
MsgBox("Confirmar alterações?",1)=1 Você pode clicar em OK em uma caixa de diálogo que a função MsgBox exibe. Se você clicar em Cancelar na caixa de diálogo, o Access irá ignorar a ação.

 Observação   Para fazer com que o Access ignore temporariamente uma ação, digite Falso como uma condição. Forçar o Access a ignorar temporariamente uma ação pode ser útil quando você tentar localizar problemas em uma macro.

Para obter mais informações sobre macros, consulte os artigos Noções básicas sobre macros no Access 2007 e Criar uma macro.

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

 
 
Aplica-se a:
Access 2007