Exemplos de expressões

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

Observação : Embora este artigo forneça as etapas básicas para criar expressões, não é um guia abrangente para usar as ferramentas que Access fornece para criar as expressões. Para obter mais informações sobre como criar as expressões, confira o artigo Criar uma expressão.

Neste artigo

Compreender as expressões

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

Exemplos de expressões usadas em consultas e filtros

Exemplos de expressões dos valores padrão

Exemplos de expressões da regra de validação dos campos

Exemplos de expressões de condição das macros

Compreender as expressões

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

  • Identificadores — os nomes dos campos da tabela ou controles em formulários ou relatórios, ou as propriedades desses campos ou controles

  • Operadores, como + (mais) ou - (menos)

  • Funções, como SOMA ou MÉD

  • Constantes — valores que não mudam, como cadeias de caracteres de texto ou números que não são calculados por uma expressão.

Você pode usar as expressões de várias maneiras — para realizar um cálculo, recuperar o valor de um controle ou fornecer critérios para uma consulta, só para citar alguns.

Para saber mais sobre como e onde usar as expressões, confira o artigo Criar uma expressão.

Início da página

Exemplos de expressões usadas 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, você insere uma expressão na propriedade ControlSource do controle, em vez de um campo da tabela ou consulta.

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

Criar um controle calculado

  1. No Painel de Navegação, clique com o botão direito no formulário ou relatório que você deseja alterar e clique em Modo Design Imagem do botão no menu de atalho.

  2. No formulário ou relatório, clique com o botão direito no controle de caixa de texto que você deseja alterar (não no rótulo associado à caixa de texto) e clique em Propriedades no menu de atalho.

  3. Se necessário, clique na guia Todos 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 a expressão. Por exemplo, você pode copiar e colar uma expressão da coluna Expressão na tabela, na seção a seguir.

  5. Feche a folha de propriedades.

Expressões que combinam ou manipulam o texto

As expressões na seguinte tabela usam os operadores & (e comercial) e + (mais) para combinar as cadeias de texto, funções internas para manipular uma cadeia de texto ou operar no texto para criar um controle calculado.

Expressão

Resultado

="N/A"

Exibe N/D.

=[Nome] & " " & [Sobrenome]

Exibe os valores que residem nos campos da tabela denominados Nome e Sobrenome. Neste exemplo, o operador & é usado para combinar o campo Nome, um caractere de espaço (entre aspas) e o campo Sobrenome.

=Esquerdo([NomeProduto], 1)

Usa a função Esquerdo para exibir o primeiro caractere do valor de um campo ou controle denominado NomeProduto.

=Direito([CódigoAtivo], 2)

Usa a função Direito para exibir os dois últimos caracteres do valor em um campo ou controle denominado CódigoAtivo.

=Trim([Endereço])

Usa a função Arrumar para exibir o valor do controle Endereço, removendo espaços à direita ou à esquerda.

=SeImed(ÉNulo([Região]), [Cidade] & " " & [CEP], [Cidade] & " " & [Região] & " " & [CEP])

Usa a função SeImed para exibir os valores dos controles Cidade e CEP se o valor no controle Região é 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 nula para exibir os valores dos controles Cidade e CEP se o valor no campo Região ou controle for nulo; caso contrário, exibe os valores dos campos ou controles Cidade, Região e CEP, separados por espaços.

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

Expressões nos cabeçalhos e rodapés

Você usa as propriedades Page e Pages para exibir ou imprimir os números da página em formulários ou relatórios. As propriedades Page e Pages estão disponíveis somente durante a impressão ou visualização da impressão, para que elas não apareçam na folha de propriedades do formulário ou do 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, em seguida, usando uma expressão, como as mostradas na tabela a seguir.

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

Expressão

Resultado de exemplo

=[Página]

1

="Page " & [Página]

Página 1

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

Página 1 de 3

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

1 de 3 Páginas

=[Página] & "/" & [Páginas] & " Pages"

1/3 Páginas

=[País/região] & " - " & [Página]

Reino Unido - 1

=Formato([Página], "000")

001

="Impresso em: " & Data()

Impresso em: 31/12/07

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

Você pode usar expressões para adicionar, subtrair, multiplicar e dividir os valores em dois ou mais campos ou controles. Também pode usar expressões para realizar operações aritméticas em datas. Por exemplo, suponha que você tenha um campo da tabela Data/Hora denominado DataRequerida. No campo, ou em um controle associado ao campo, a expressão = [DataRequerida] - 2 retorna um valor de data/hora igual a dois dias antes dos valores atuais no campo DataRequerida.

Expressão

Resultado

=[Subtotal]+[Frete]

A soma dos valores dos campos ou controles Subtotal e Frete.

=[DataRequerida]-[DataEnvio]

O intervalo entre os valores de data dos campos ou controles DataRequerida e DataEnvio.

=[Preço]*1.06

O produto do valor do campo ou controle Preço e 1.06 (adiciona 6% ao valor Preço).

=[Quantidade]*[Preço]

O produto dos valores dos campos ou controles Quantidade e Preço.

=[TotalFuncionário]/[TotalRegiãoPaís]

O quociente dos valores dos campos ou controles TotalFuncionário e TotalRegiãoPaís.

Observação : Quando você usar um operador aritmético (+, -, * e /) em uma expressão e o valor de um dos controles na expressão for nulo, o resultado da expressão inteira será nulo, isso é conhecido como propagação Nula. Se algum registro em um dos controles usados na expressão tiver um valor nulo, será possível evitar a propagação Nula 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, confira o artigo Função Nz.

Expressões que fazem referência a valores em outros campos ou controles

Às vezes, você precisa de um valor que existe em outro lugar, como em um campo ou controle em outro formulário ou relatório. Você pode 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 usar nos controles calculados em formulários.

Expressão

Resultado

=Formulários![Pedidos]![IDPedido]

O valor do controle IDPedido no formulário Pedidos.

=Formulários![Pedidos]![Subformulário Pedidos].Form![SubtotalPedido]

O valor do controle SubtotalPedido no subformulário denominado Subformulário Pedidos no formulário Pedidos.

=Formulários![Pedidos]![Subformulário Pedidos]![IDProduto].Column(2)

O valor da terceira coluna em IDProduto, uma caixa de listagem de várias colunas no subformulário denominado Subformulário Pedidos no formulário Pedidos. (Observe que 0 se refere à primeira coluna, 1 se refere à segunda coluna e assim por diante).

=Formulários![Pedidos]![Subformulário Pedidos]![Preço] * 1.06

O produto do valor do controle Preço no subformulário denominado Subformulário Pedidos no formulário Pedidos e 1.06 (adiciona 6% ao valor do controle Preço).

=Parent![IDPedido]

O valor do controle IDPedido no formulário principal ou pai do subformulário atual.

As expressões na tabela a seguir mostram algumas maneiras de usar os controles calculados em relatórios. As expressões se referem à propriedade Report.

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

Expressão

Resultado

=Report![Fatura]![IDPedido]

O valor de um controle denominado "IDPedido" em um relatório denominado "Fatura".

=Report![Resumo]![Sub-relatório Resumo]![TotalVendas]

O valor do controle TotalVendas no sub-relatório denominado Sub-relatório Resumo no relatório Resumo.

=Parent![IDPedido]

O valor do controle IDPedido no formulário principal ou pai do sub-relatório atual.

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

Você pode usar um tipo de função denominado função de agregação para calcular os valores para um ou mais campos ou controles. Por exemplo, você pode calcular um total de grupo para o rodapé de grupo em um relatório ou um subtotal do pedido para os itens individuais em um formulário. 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 maneiras de usar as funções, como Média, Contagem e Soma.

Expressão

Descrição

=Média([Frete])

Usa a função Média para exibir a média dos valores de um campo ou controle da tabela denominado "Frete".

=Contagem([IDPedido])

Usa a função Contagem para exibir o número de registros no controle IDPedido.

=Soma([Vendas])

Usa a função Soma para exibir a soma dos valores do controle Vendas.

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

Usa a função Soma para exibir a soma do produto dos valores dos controles Quantidade e Preço.

=[Vendas]/Soma([Vendas])*100

Exibe a porcentagem das 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 Percentagem, não inclua * 100 na expressão.

Para obter mais informações sobre como usar funções de agregação e totalizar os valores no campo e colunas, confira os artigos Somar dados usando uma consulta, Contar dados usando uma consulta, Contar as linhas em uma folha de dados e Exibir os totais de colunas em uma folha de dados.

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

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

Expressão

Descrição

=DPesquisa("[NomeContato]"; "[Fornecedores]"; "[IDFornecedor] = " & Formulários("Fornecedores")("[IDFornecedor]"))

Usa a função DPesquisa para retornar o valor do campo NomeContato na tabela Fornecedores onde o valor do campo IDFornecedor na tabela corresponde ao valor do controle IDFornecedor no formulário Fornecedores.

= DPesquisa("[NomeContato]"; "[Fornecedores]"; "[IDFornecedor] =" & Formulários![Novos Fornecedores]! [IDFornecedor])

Usa a função DPesquisa para retornar o valor do campo NomeContato na tabela Fornecedores onde o valor do campo IDFornecedor na tabela corresponde ao valor do controle IDFornecedor no formulário Novos Fornecedores.

=BDSoma("[QuantidaDePedidos]"; "[Pedidos]", "[IDCliente] = 'RATTC'")

Usa a função BDSoma para retornar a soma total dos valores no campo QuantidadePedido na tabela Pedidos onde IDCliente é RATTC.

=BDContar("[Desativado]";"[Ativos]";"[Desativado]=Yes")

Usa a função BDContar para retornar o número de valores Sim no campo Desativado (um campo Sim/Não) na tabela Ativos.

Expressões que manipulam e calculam as datas

Controlar as datas e horas é uma atividade fundamental do banco de dados. Por exemplo, você pode calcular quantos dias se passaram desde a data da fatura para determinar o vencimento de suas contas a receber. Você pode formatar as datas e horas de várias maneiras, conforme mostrado na tabela a seguir.

Expressão

Descrição

=Data()

Usa a função Data para exibir a data atual na forma de mm-dd-aa, onde mm é o mês (1 a 12), dd é o dia (1 a 31) e aa são os dois últimos dígitos do ano (de 1980 a 2099).

=Formato(Agora(), "ww")

Usa a função Format para exibir o número da semana do ano para a data atual, onde ww representa as semanas 1 a 53.

=ParteData("yyyy", [DataPedido])

Usa a função ParteData para exibir o ano de quatro dígitos do valor do controle DataPedido.

=SomData("y", -10, [DataPrometida])

Usa a função SomData para exibir uma data que é 10 dias anterior ao valor do controle DataPrometida.

=DifData("d", [DataPedido], [DataEnvio])

Usa a função DifData para exibir o número da diferença dos dias entre os valores dos controles DataPedido e DataEnvio.

=[DataFatura] + 30

Usa operações aritméticas nas datas para calcular a data 30 dias após a data no campo ou controle DataFatura.

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

As expressões de exemplo na tabela a seguir usam a função SeImed para retornar um de dois valores possíveis. Você passa à função SeImed três argumentos: O primeiro argumento é uma expressão que deve retornar um valor Verdadeiro ou False. O segundo argumento será o valor a retornar se a expressão for verdadeira e o terceiro argumento será o valor a retornar se a expressão for falsa.

Expressão

Descrição

=SeImed([Confirmado] = "Sim", "Pedido Confirmado", "Pedido Não Confirmado")

Usa a função SeImed (Se Imediato) para exibir a mensagem "Pedido Confirmado" se o valor do controle Confirmado é Sim; caso contrário, exibe a mensagem "Pedido Não Confirmado".

=SeImed(ÉNulo([País/região]), " ", [País])

Usa as funções SeImed e ÉNulo para exibir uma cadeia 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.

=SeImed(ÉNulo([Região]), [Cidade] & " " & [CEP], [Cidade] & " " & [Região] & " " & [CEP])

Use as funções SeImed e ÉNulo para exibir os valores dos controles Cidade e CEP se o valor no controle Região é nulo; caso contrário, exibe os valores dos campos ou controles Cidade, Região e CEP.

=SeImed(ÉNulo([DataRequerida]) Or ÉNulo([DataEnvio]), "Verificar ausência de data", [DataRequerida] - [DataEnvio])

Usa as funções SeImed e ÉNulo para exibir a mensagem "Verificar ausência de data" se o resultado de subtrair DataEnvio de DataRequerida é nulo; caso contrário, exibe o intervalo entre os valores de data dos controles DataRequerida e DataEnvio.

Início da página

Exemplos de expressões usadas em consultas e filtros

Esta seção contém exemplos de expressões que você pode usar para criar um campo calculado em uma consulta ou fornecer critérios para uma consulta. Um campo calculado é uma coluna em uma consulta que resulta de uma expressão. Por exemplo, você pode calcular um valor, combinar os 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 de início e fim, e limitar os resultados de sua consulta aos 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 usar nas 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 de dois pontos ou pode digitar a expressão. Se você não inserir um nome, o Access adicionará Exprn:, onde n é um número sequencial.

  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, confira o artigo Criar uma expressão.

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

As expressões na seguinte tabela usam os operadores & e + para combinar as cadeias de texto, usam as funções internas para operar em uma cadeia de texto ou operam no texto para criar um campo calculado.

Expressão

Descrição

NomeCompleto: [Nome] & " " & [Sobrenome]

Cria um campo denominado NomeCompleto que exibe os valores nos 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 nos campos Cidade, Região e CEP, separados por espaços.

ProdutoInicial:Esquerdo([NomeProduto], 1)

Cria um campo denominado ProdutoInicial, em seguida, usa a função Esquerdo para exibir, no campo ProdutoInicial, o primeiro caractere do valor no campo NomeProduto.

CódigoTipo: Direito([CódigoAtivo], 2)

Cria um campo denominado CódigoTipo, em seguida, usa a função Direito para exibir os dois últimos caracteres dos valores no campo CódigoAtivo.

CódigoÁrea: Mid([Telefone],2,3)

Cria um campo denominado CódigoÁrea, em seguida, usa a função Mid função para exibir três caracteres, começando com o segundo caractere do valor no campo Telefone.

Expressões que realizam operações aritméticas nos campos calculados

Você pode usar expressões para adicionar, subtrair, multiplicar e dividir os valores em dois ou mais campos ou controles. Também pode realizar operações aritméticas em datas. Por exemplo, suponha que você tenha um campo Data/Hora denominado DataRequerida. A expressão = [DataRequerida] - 2 retorna um valor Data/Hora igual a dois dias antes do valor no campo DataRequerida.

Expressão

Descrição

FretePrincipal: [Frete] * 1.1

Cria um campo denominado FretePrincipal e exibe os encargos do frete mais 10% no campo.

QuantidadePedido: [Quantidade] * [PreçoUnitário]

Cria um campo denominado QuantidadePedido e exibe o produto dos valores nos campos Quantidade e PreçoUnitário.

TempoProcesso: [DataRequerida] - [DataEnvio]

Cria um campo denominado TempoProcesso e exibe a diferença entre os valores nos campos DataRequerida e DataEnvio.

EstoqueTotal: [UnidadesEmEstoque] + [UnidadesNoPedido]

Cria um campo denominado EstoqueTotal e exibe a soma dos valores nos campos UnidadesEmEstoque e UnidadesNoPedido.

PorcentagemFrete: Soma([Frete])/Soma([Subtotal]) *100

Cria um campo denominado PorcentagemFrete e exibe a porcentagem dos encargos do frete em cada subtotal. Essa expressão usa a função Soma para totalizar os valores no campo Frete e divide esses totais pela soma dos valores no campo Subtotal.

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

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

Se você definir a propriedade Format do campo para Percent, não inclua *100.

Para obter mais informações sobre como usar funções de agregação e totalizar os valores no campo e colunas, confira os artigos Somar dados usando uma consulta, Contar dados usando uma consulta, Contar as linhas em uma folha de dados e Exibir os totais de colunas em uma folha de dados.

Expressões que manipulam e calculam com as datas nos campos calculados

Quase todos os bancos de dados armazenam e controlam as datas e horas. Você trabalha com datas e horas no Access definindo os campos de data e hora em suas tabelas para o tipo de dados Data/Hora. O Access pode executar cálculos aritméticos nas datas. Por exemplo, você pode calcular quantos dias se passaram desde a data da fatura para determinar o vencimento de suas contas a receber.

Expressão

Descrição

TempoAtraso: DifData("d", [DataPedido], [DataEnvio])

Cria um campo denominado TempoAtraso, em seguida, usa a função DifData para exibir o número de dias entre a data do pedido e a data de envio.

AnoContratação: ParteData("yyyy",[AnoContratação])

Cria um campo denominado AnoContratação, em seguida, usa a função ParteData para exibir o ano em que cada funcionário foi contratado.

MenosTrinta: Data( )- 30

Cria um campo denominado MenosTrinta, em seguida, usa a função Data para exibir a data 30 dias antes da data atual.

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

As expressões na tabela a seguir usam as funções do SQL (Structured Query Language) que agregam ou resumem os dados. Geralmente, você vê essas funções (por exemplo, Soma, Contar e Média) 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 do "domínio" que você usa para somar ou contar os valores seletivamente. Por exemplo, você pode contar apenas os valores em um determinado intervalo ou procurar um valor em outra tabela. O conjunto de funções de agregação do domínio inclui a função BDSoma, BDContar e a Função BDMédia.

Para calcular os totais, muitas vezes você precisa criar uma consulta de totais. Por exemplo, para resumir por grupo, você precisa usar uma consulta de Totais. Para habilitar uma consulta de Totais na grade de design da consulta, clique em Totais no menu Exibir.

Expressão

Descrição

ContarLinhas:Contar(*)

Cria um campo denominado ContarLinhas, em seguida, usa a função Contar para contar o número de registros na consulta, incluindo os registros com campos nulos (em branco).

PorcentagemFrete: Soma([Frete])/Soma([Subtotal]) *100

Cria um campo denominado PorcentagemFrete e calcula a porcentagem dos encargos do frete em cada subtotal dividindo a soma dos valores do campo Frete pela soma dos valores no campo Subtotal. (Este exemplo usa a função Soma.)

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

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

FreteMédio: BDMédia("[Frete]", "[Pedidos]")

Cria um campo denominado FreteMédio, em seguida, usa a função BDMédia para calcular o frete médio em 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 os campos potencialmente sem informações, como os que contêm valores nulos (desconhecidos ou indefinidos). Você encontrará com frequência valores nulos, como um preço desconhecido para um novo produto ou um valor que um colega esqueceu de adicionar a um pedido. A capacidade de localizar e processar os valores nulos pode ser uma parte essencial das operações do banco de dados, e as expressões na tabela a seguir demonstram algumas maneiras comuns de lidar com os valores nulos.

Expressão

Descrição

RegiãoPaísAtual:SeImed(ÉNulo([RegiãoPaís]), "", [RegiãoPaís])

Cria um campo denominado RegiãoPaísAtual, em seguida, usa as funções SeImed e ÉNulo para exibir uma cadeia de caracteres vazia no campo quando o campo RegiãoPaís contém um valor nulo; caso contrário, exibe o conteúdo do campo RegiãoPaís.

PrazoEntrega: SeImed(ÉNulo([DataRequerida] - [DataEnvio]), "Verificar ausência de data", [DataRequerida] - [DataEnvio])

Cria um campo denominado PrazoEntrega, em seguida, usa as funções SeImed e ÉNulo para exibir a mensagem "Verificar ausência de data" se o valor no campo DataRequerida ou DataEnvio é nulo; caso contrário, exibe a diferença de data.

VendasSeisMeses: Nz([Vendas1Tri]) + Nz([Vendas2Tri])

Cria um campo denominado VendasSeisMeses e exibe o total dos valores nos campos Vendas1Tri e Vendas2Tri primeiro usando a função Nz para converter os 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 campo calculado que resulta de uma subconsulta.

Expressão

Descrição

Gato: (SELECT [NomeCategoria] FROM [Categorias] WHERE [Produtos].[IDCategoria]=[Categorias].[IDCategoria])

Cria um campo denominado Gato e exibe o NomeCategoria, se a IDCategoria na tabela Categorias é igual à IDCategoria na tabela Produtos.

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

Você pode usar uma expressão para definir os critérios de uma consulta. Então, o Access retorna 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 na seção fornecem exemplos de critérios para corresponder os valores de data e texto.

Adicionar critérios a uma consulta

  1. No Painel de Navegação, clique com o botão direito na consulta que você deseja alterar e clique em Modo Design Imagem do botão no menu de atalho.

  2. Na linha Critérios da grade de design, clique na célula na coluna que você deseja usar, em seguida, digite os critérios.

    Se você quiser uma área maior na qual digitar uma expressão, pressione Shift+F2 para exibir a caixa Zoom.

    – ou –

    Na guia Design, no grupo Configuração da Consulta, clique em Construtor Imagem 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, confira o artigo Criar uma expressão.

Expressões que correspondem a valores de texto total ou parcial

As expressões de exemplo nesta tabela demonstram critérios correspondentes aos valores de texto total ou parcial.

Campo

Expressão

Descrição

CidadeEnvio

“Londres”

Exibe os pedidos enviados para Londres.

CidadeEnvio

"Londres" ou "Hedge End"

Usa o operador Or para exibir os pedidos enviados para Londres ou Hedge End.

RegiãoPaísEnvio

In("Canada", "UK")

Usa o operador In para exibir os pedidos enviados para o Canadá ou Reino Unido.

RegiãoPaísEnvio

Not "USA"

Usa o operador Not para exibir os pedidos enviados para países/regiões diferentes dos EUA.

NomeProduto

Not Like "C*"

Usa o operador Not e o caractere curinga * para exibir produtos cujos nomes não começam com C.

NomeEmpresa

>="N"

Exibe os pedidos enviados para empresas cujos nomes começam com as letras de N a Z.

CódigoProduto

Direito([CódigoProduto], 2)="99"

Usa a função Direito para exibir pedidos com valores do CódigoProduto que terminam em 99.

NomeEnvio

Like "S*"

Exibe os pedidos enviados para os clientes cujos nomes começam com a letra S.

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

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

Para saber mais sobre como inserir e usar valores de data, confira o artigo Inserir um valor de data ou hora. Para obter informações sobre como usar as funções nestas expressões de exemplo, clique nos links para os vários tópicos da função.

Campo

Expressão

Descrição

DataEnviada

#02/02/2007#

Exibe os pedidos enviados em 2 de fevereiro de 2007.

DataEnviada

Data()

Exibe os pedidos enviados hoje.

DataRequerida

Entre Data( ) E SomData("m", 3, Data( ))

Usa o operador Between...And e as funções SomData e Data para exibir os pedidos requeridos entre a data de hoje e três meses a partir da data de hoje.

DataPedido

< Data( ) - 30

Usa a função Data para exibir os pedidos com mais de 30 dias.

DataPedido

Ano([DataPedido])=2007

Usa a função Ano para exibir os pedidos com datas de pedido em 2007.

DataPedido

ParteData("q", [DataPedido])=4

Usa a função ParteData para exibir os pedidos do quarto trimestre no calendário.

DataPedido

DataSerial(Ano ([DataPedido]), Mês([DataPedido])+1, 1)-1

Usa as funções DataSerial, Ano e Mês para exibir os pedidos para o último dia de cada mês.

DataPedido

Ano([DataPedido])= Ano(Agora()) And Mês([DataPedido])= Mês(Agora())

Usa as funções Ano e Mês e o operador And para exibir os pedidos do ano e mês atuais.

DataEnviada

Between #05/01/2007# And #10/01/2007#

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.

DataRequerida

Between Data() And SomData("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.

DataNascimento

Mês([DataNascimento])=Mês(Data())

Usa as funções Mês e Data para exibir os funcionários com datas de aniversário neste mês.

Expressões que correspondem a um valor ausente (nulo) ou uma cadeia de comprimento zero

As expressões na tabela a seguir funcionam nos campos potencialmente com informações ausentes — aqueles que podem conter um valor nulo ou uma cadeia de comprimento zero. Um valor nulo representa a ausência de informação; não representa um zero nem um valor. O Access suporta a ideia de informações ausentes porque o conceito é essencial para a integridade de um banco de dados. No mundo real, faltam informações muitas vezes, mesmo que apenas temporariamente (por exemplo, o preço ainda indeterminado para um novo produto). Portanto, um banco de dados que modela uma entidade do mundo real, como um negócio, deve ser capaz de registrar as informações como ausentes. Você pode usar a função ÉNulo para determinar se um campo ou controle contém um valor nulo e você pode usar a função Nz para converter um valor nulo em zero.

Campo

Expressão

Descrição

RegiãoEnvio

É nulo

Exibe os pedidos de clientes cujo campo RegiãoEnvio é nulo (ausente).

RegiãoEnvio

Não é nulo

Exibe os pedidos de clientes cujo campo RegiãoEnvio contém um valor.

Fax

""

Exibe os pedidos de clientes que não têm um aparelho de fax, indicado por um valor de cadeia com comprimento zero no campo Fax, em vez de um valor nulo (ausente).

Expressões que usam padrões para corresponder aos registros

O operador Like fornece muita flexibilidade quando você está tentando combinar as linhas que seguem um padrão, porque você pode usar Like com caracteres curinga e definir padrões para o Access corresponder. Por exemplo, o caractere curinga * (asterisco) corresponde a uma cadeia de caracteres de qualquer tipo e facilita localizar todos os nomes que começam com uma letra. Por exemplo, você usa a expressão Like "S*" para localizar todos os nomes que começam com a letra S.

Para saber mais, confira o artigo Operador Like.

Campo

Expressão

Descrição

NomeEnvio

Like "S*"

Localiza todos os registros no campo NomeEnvio que começam com a letra S.

NomeEnvio

Like "*Importa"

Localiza todos os registros no campo NomeEnvio que começam com a palavra "Importa".

NomeEnvio

Como "[A-D]*"

Localiza todos os registros no campo NomeEnvio que começam com as letras A, B, C ou D.

NomeEnvio

Como "*ar*"

Localiza todos os registros no campo NomeEnvio que começam com a sequência de letras "ar".

NomeEnvio

Como "Maison Dewe?"

Localiza todos os registros no campo NomeEnvio que incluem "Maison" na primeira parte do valor e uma cadeia de cinco letras, na qual as primeiras quatro letras são "Dewe" e a última letra é desconhecida.

NomeEnvio

Not Like "A*"

Localiza todos os registros no campo NomeEnvio que não começam com a letra A.

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

Você usa uma função de agregação de domínio quando precisa somar, contar ou calcular a média dos valores seletivamente. Por exemplo, talvez você queira contar somente os valores que ficam dentro de um determinado intervalo ou que são avaliados como Sim. Em outros momentos, talvez precise consultar um valor de outra tabela para que possa exibi-lo. As expressões de exemplo na tabela a seguir usam as funções de agregação de domínio para realizar um cálculo em um conjunto de valores e usam o resultado como critérios de consulta.

Campo

Expressão

Descrição

Frete

> (BDest("[Frete]", "Pedidos") + BDMédia("[Frete]", "Pedidos"))

Usa as funções BDest e BDMédia para exibir todos os pedidos para os quais o custo do frete ficou acima da média mais o desvio padrão do custo do frete.

Quantidade

> BDMédia("[Quantidade]", "[Detalhes Pedido]")

Usa a função BDMédia para exibir os produtos pedidos em quantidades acima da quantidade média dos pedidos.

Expressões que correspondem com base nos resultados das subconsultas

Você usa uma subconsulta, também denominada de consulta aninhada, para calcular um valor para usar como um critério. As expressões de exemplo na tabela a seguir correspondem as linhas com base nos resultados retornados por uma subconsulta.

Campo

Expressão

Exibe

PreçoUnitário

(SELECT [PreçoUnitário] FROM [Produtos] WHERE [NomeProduto] = "Xarope de Semente de Anis")

Produtos cujo preço é igual ao preço do Xarope de Semente 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 ([Título] LIKE "*Gerente*") OR ([Título] LIKE "*Vice-Presidente*"))

O salário de cada representante de vendas cujo salário é maior que todos os funcionários com "Gerente" ou "Vice-Presidente" em seus títulos.

OrderTotal: [PreçoUnitário] * [Quantidade]

> (SELECT AVG([PreçoUnitário] * [Quantidade]) FROM [Detalhes Pedido])

Pedidos com totais mais altos que o valor médio dos pedidos.

Expressões para usar nas consultas de atualização

Você usa 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 os valores ou excluí-los completamente. Esta tabela mostra algumas maneiras de usar expressões nas consultas de atualização. Você usa essas expressões na linha Atualizar Para na grade de design da consulta para o campo que deseja atualizar.

Para saber mais sobre como criar consultas de atualização, confira o artigo Criar e executar uma consulta de atualização.

Campo

Expressão

Resultado

Título

"Vendedor"

Altera um valor de texto para Vendedor.

InícioProjeto

#10/08/07#

Altera um valor de data para 10-ago-07.

Desativado

Sim

Altera um valor Não em um campo Sim/Não para Sim.

NúmeroPeça

"NP" & [NúmeroDePeça]

Adiciona "NP" ao início de cada número de peça especificado.

TotalItemLinha

[PreçoUnitário] * [Quantidade]

Calcula o produto do PreçoUnitário e da Quantidade.

Frete

[Frete] * 1,5

Aumenta os encargos do frete em 50%.

Vendas

BDSoma("[Quantidade] * [PreçoUnitário]",
"Order Details", "[IDProduto]=" & [IDProduto])

Onde os valores IDProduto na tabela atual coincidem com os valores IDProduto na tabela Detalhes do Pedido, atualiza os totais de vendas baseados no produto da Quantidade e do PreçoUnitário.

CEPEnvio

Direito([CEPEnvio], 5)

Corta os caracteres mais à esquerda, deixando os cinco caracteres mais à direita.

PreçoUnitário

Nz([PreçoUnitário])

Altera um valor nulo (desconhecido ou indefinido) para zero (0) no campo PreçoUnitário.

Expressões usadas nas instruções SQL

A Structured Query Language, ou SQL, é a linguagem de consulta que o Access utiliza. Toda consulta criada no modo Design da consulta também podem ser expressa usando SQL. Para ver a instrução SQL para qualquer consulta, clique em Modo SQL no menu Exibir. A tabela a seguir mostra as instruções SQL de exemplo que utilizam uma expressão.

Instrução SQL que usa uma expressão

Resultado

SELECT [Nome],[Sobrenome] FROM [Funcionários] WHERE [Sobrenome]="Danseglio"

Exibe os valores nos campos Nome e Sobrenome para funcionários cujo sobrenome é Danseglio.

SELECT [IDProduto],[NomeProduto] FROM [Produtos] WHERE [IDCategoria]=Forms![Novos Produtos]![IDCategoria];

Exibe os valores nos campos IDProduto e NomeProduto na tabela Produtos para os registros nos quais o valor IDCategoria corresponde ao valor IDCategoria especificado em um formulário de Novos Produtos aberto.

SELECT Média([PreçoEstendido]) AS [Preço Estendido Médio] FROM [Detalhes do Pedido Estendido] WHERE [PreçoEstendido]>1000;

Calcula a média do preço estendido dos pedidos para os quais o valor no campo PreçoEstendido é maior que 1.000 e exibe-o em um campo denominado Detalhes do Pedido Estendido.

SELECT [IDCategoria], Contar([IDProduto]) AS [ContarIDProduto] FROM [Produtos] GROUP BY [IDCategoria] HAVING Contar([IDProduto])>10;

Em um campo denominado ContarIDProduto, exibe o número total de produtos para as categorias com mais de 10 produtos.

Início da página

Exemplos de expressões dos valores padrão

Ao criar um banco de dados, você pode querer atribuir um valor padrão a um campo ou controle. Então, o Access fornece o valor padrão quando um novo registro que contém o campo é criado ou quando um objeto que contém o controle é criado. As expressões na tabela a seguir representam os valores padrão de exemplo para um campo ou controle.

Adicionar um valor padrão para 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 da propriedade Valor Padrão.

  3. Digite a expressão ou clique no botãoCompilar Botão Construtor à direita da caixa de propriedade para criar uma expressão usando o Construtor de Expressões.

Se um controle for associado 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 de campo padrão

Quantidade

1

1

Região

"MT"

MT

Região

"Nova York, N.Y."

Nova York, N.Y. (Observe que você deve colocar o valor entre aspas se ele incluir pontuação.)

Fax

""

Uma cadeia de comprimento zero para indicar que, por padrão, esse campo deve ficar vazio, em vez de conter um valor nulo

Data do Pedido

Data( )

Data de hoje

DataVencimento

Data() + 60

A data de 60 dias a partir de hoje

Início da página

Exemplos de expressões da regra de validação dos campos

Você pode criar uma regra de validação para um campo ou controle usando uma expressão. Então, o Access aplica a regra quando os dados são inseridos no campo ou no controle. Para criar uma regra de validação, você modifica a propriedade ValidationRule do campo ou controle. Você também deve considerar configurar a propriedade ValidationText, que contém o texto que o Access exibe quando a regra de validação é violada. Se você não definir a propriedade ValidationText, 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 da propriedade Regra de Validação, localizada na seção inferior do designer de tabela.

  4. Digite a expressão ou clique no botãoCompilar Botão Construtor à 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 = quando criar uma regra de validação.

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

Propriedade ValidationRule

Propriedade ValidationText

<> 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/2007#

Insira uma data anterior a 01/01/2007.

>= #01/01/2007# And < #01/01/2008#

A data deve se situar em 2007.

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

Início da página

Exemplos de expressões de condição das macros

Em alguns casos, você pode querer executar uma ação ou uma série de ações em uma macro apenas se uma condição específica é verdadeira. Por exemplo, suponha que você queira que uma ação seja executada apenas quando o valor da caixa de texto Contador é 10. Você usa uma expressão para definir a condição na coluna Condição da macro: [Contador] = 10.

Adicionar uma condição para uma ação de macro

  1. No Painel de Navegação, clique com o botão direito na macro que você deseja alterar e clique em Modo Design no menu de atalho.

  2. Se você não vir a coluna Condição no designer de macros, na guia DesignMostrar/Ocultar, clique em Condições.

  3. Clique na célula Condição para a ação de macro que você deseja alterar, em seguida, digite a expressão condicional.

  4. Salve as alterações e feche a macro.

Assim como na propriedade ValidationRule, a expressão da coluna Condição é uma expressão condicional. Ela deve determinar um valor Verdadeiro ou Falso. A ação ocorre somente quando a condição é verdadeira.

Use essa expressão para executar a ação

If

[Cidade]="Paris"

Paris é o valor Cidade no campo do formulário a partir do qual a macro foi executada.

BDContar("[IDPedido]", "Orders") > 35

Há mais de 35 entradas no campo IDPedido da tabela Pedidos.

BDContar("*", "[Detalhes Pedido]", "[IDPedido]=" & Forms![Pedidos]![IDPedido]) > 3

Há mais de três entradas na tabela Detalhes Pedido cujo campo IDPedido da tabela coincide com o campo IDPedido no formulário Pedidos.

[DataEnviada] Between #2-Feb-2007# And #2-Mar-2007#

O valor do campo DataEnviada no formulário a partir do qual a macro é executada não é anterior a 2 de fevereiro de 2007 e não posterior a 2 de março de 2007.

Forms![Produtos]![UnidadesEmEstoque] < 5

O valor do campo UnidadesEmEstoque no formulário Produtos é menor que 5.

ÉNulo([Nome])

O valor Nome no formulário a partir do qual a macro é executada é nulo (não tem valor). Essa expressão é equivalente a [Nome] É Nulo.

[RegiãoPaís]="Reino Unido" And Formulários![TotaisVendas]![PedTotais] > 100

O valor no campo RegiãoPaís no formulário a partir do qual a macro é executada é Reino Unido e o valor do campo PedTotais no formulário TotaisVendas é maior que 100.

[RegiãoPaís] In ("França", "Itália", "Espanha") And Compr([CEP])<>5

O valor no campo RegiãoPaís no formulário a partir do qual a macro é executada é França, Itália ou Espanha, e o CEP não tem 5 caracteres de comprimento.

CaixaDeMensagem("Confirmar alterações?",1)=1

Você clica em OK em uma caixa de diálogo que a função CaixaDeMensagem exibe. Se você clicar em Cancelar na caixa de diálogo, o Access irá ignorar a ação.

Observação : Para forçar o Access a ignorar temporariamente uma ação, digite False como uma condição. Forçar o Access a ignorar temporariamente uma ação pode ser útil quando você está tentando encontrar problemas em uma macro.

Início da página

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

Essas informações foram úteis?

Obrigado por seus comentários!

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

×