Exemplos de expressões

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Neste artigo

Formulários e relatórios

Todas as expressões de formulário e relatório

Operações de texto; Valores em outros controles; Operações de data Cabeçalhos e rodapés; Contagem, soma e valores médios; Condições de apenas dois valores Operações aritméticas; Funções de agregação de SQL

Consultas e filtros

Todas as expressões de consulta e filtro

Operações de texto; Funções de agregação de SQL; Corresponder valores de texto; Corresponder padrões de registro com Like; Atualizar consultas Operações aritméticas; Localizar dados ausentes; Critérios de data de correspondência; Corresponder linhas com agregações SQL; Instruções SQL Operações de data; Campos calculados com subconjuntos; Campos com dados ausentes; Corresponder campos com subconjuntos

Tabelas

Todas as expressões de tabela

Valores padrão de campo Regras de validação de campo

Macros

Todas as expressões de macro

Formulários e relatórios

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

Observação

Você também pode usar expressões em um formulário ou relatório ao realçar dados com formatação condicional.

Operações de texto

As expressões na tabela a seguir usam os & operadores (ampersand) e + (plus) para combinar cadeias de caracteres de texto, usar funções internas para trabalhar com texto ou criar um controle calculado.

Expressão Resultado
="N/A" Exibe N/D.
=[FirstName] & " " & [LastName] Exibe os valores que residem nos campos da tabela denominados Nome e Sobrenome. Neste exemplo, o & operador é usado para combinar o campo FirstName, um caractere de espaço (entre aspas) e o campo LastName.
=Left([ProductName], 1) Usa a Left função para exibir o primeiro caractere do valor em um campo ou controle chamado ProductName.
=Right([AssetCode], 2) Usa a Right função para exibir os dois últimos caracteres do valor em um campo ou controle chamado AssetCode.
=Trim([Address]) Usa a Trim função para exibir o valor do Address controle depois de remover espaços à direita e à direita.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Usa a IIf função para exibir os valores dos City controles e PostalCode se o Region controle for nulo. Caso contrário, ele exibe os valores dos Citycontroles , Regione PostalCode , separados por espaços.
=[City] & (" " + [Region]) & " " & [PostalCode] Usa o operador e a + propagação nula para exibir os valores do City e PostalCode controla se o valor no Region campo ou controle for nulo. Caso contrário, ele exibe os valores dos CityRegion, e campos ou PostalCode controles, separados por espaços. A propagação nula significa que, se qualquer parte de uma expressão for nula, toda a expressão será nula. O + operador dá suporte à propagação nula, mas o & operador não.

Voltar para o início

Cabeçalhos e rodapés

Use as Page propriedades e Pages para exibir ou imprimir números de página em formulários ou relatórios. Essas propriedades estão disponíveis somente durante a impressão ou visualização de impressão, para que não apareçam na folha de propriedades do formulário ou relatório. Normalmente, você coloca uma caixa de texto na seção cabeçalho ou rodapé do formulário ou relatório e usa 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
=[Page] 1
="Page " & [Page] Página 1
="Page " & [Page] & " of " & [Pages] Página 1 de 3
=[Page] & " of " & [Pages] & " Pages" 1 de 3 Páginas
=[Page] & "/" & [Pages] & " Pages" 1/3 Páginas
=[Country/region] & " - " & [Page] Reino Unido - 1
=Format([Page], "000") 001
="Printed on: " & Date() Impresso em: 31/12/17

Voltar para o início

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 vinculado ao campo, a expressão =[RequiredDate] - 2 retorna um valor de data/hora igual a dois dias antes dos valores atuais no campo RequiredDate.

Expressão Resultado
=[Subtotal]+[Freight] A soma dos valores dos campos ou controles Subtotal e Frete.
=[RequiredDate]-[ShippedDate] O intervalo entre os valores de data dos campos ou controles DataRequerida e DataEnvio.
=[Price]*1.06 O produto do valor do campo ou controle Preço e 1.06 (adiciona 6% ao valor Preço).
=[Quantity]*[Price] O produto dos valores dos campos ou controles Quantidade e Preço.
=[EmployeeTotal]/[CountryRegionTotal] O quociente dos valores dos campos ou controles TotalFuncionário e TotalRegiãoPaís.

Observação

Quando você usa um operador aritmético (+, -, ou */) em uma expressão e um dos controles é nulo, o resultado de toda a expressão é nulo. Isso é conhecido como propagação nula. Se um controle tiver um valor nulo, você poderá evitar a propagação nula usando a função Nz para converter o valor nulo em zero. Por exemplo, use =Nz([Subtotal])+Nz([Freight]).

Voltar para o início

Valores em outros 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
=Forms![Orders]![OrderID] O valor do controle IDPedido no formulário Pedidos.
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] O valor do controle SubtotalPedido no subformulário denominado Subformulário Pedidos no formulário Pedidos.
=Forms![Orders]![Orders Subform]![ProductID].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).
=Forms![Orders]![Orders Subform]![Price] * 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![OrderID] 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.

Expressão Resultado
=Report![Invoice]![OrderID] O valor de um controle denominado "IDPedido" em um relatório denominado "Fatura".
=Report![Summary]![Summary Subreport]![SalesTotal] O valor do controle TotalVendas no sub-relatório denominado Sub-relatório Resumo no relatório Resumo.
=Parent![OrderID] O valor do controle IDPedido no formulário principal ou pai do sub-relatório atual.

Voltar para o início

Valores de contagem, soma e média

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
=Avg([Freight]) Usa a função Média para exibir a média dos valores de um campo ou controle da tabela denominado "Frete".
=Count([OrderID]) Usa a função Contagem para exibir o número de registros no controle IDPedido.
=Sum([Sales]) Usa a função Soma para exibir a soma dos valores do controle Vendas.
=Sum([Quantity]*[Price]) Usa a função Soma para exibir a soma do produto dos valores dos controles Quantidade e Preço.
=[Sales]/Sum([Sales])*100 Exibe o percentual de vendas dividindo o valor do Sales controle pela soma de todos os valores no Sales controle. Se você definir a Format propriedade do controle como Percent, 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, Exibir os totais das colunas em uma folha de dados usando uma linha Totais e Exibir os totais de colunas em uma folha de dados.

Voltar para o início

Funções agregadas do SQL

Você usa um tipo de função denominada SQL ou 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
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) 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.
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) 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.
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") Usa a função BDSoma para retornar a soma total dos valores no campo QuantidadePedido na tabela Pedidos onde IDCliente é RATTC.
=DCount("[Retired]","[Assets]","[Retired]=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.

Voltar para o início

Operações de data

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
=Date() Usa a função Date para exibir a data atual na forma de mm-dd-yy, onde mm é o mês (1 a 12), dd é o dia (1 a 31) e yy é 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 para a data atual, em que ww representa as semanas 1 a 53.
=DatePart("yyyy", [OrderDate]) Usa a função PartData para exibir o ano de quatro dígitos do valor do controle DataPedido.
=DateAdd("y", -10, [PromisedDate]) Usa a função SomData para exibir uma data que é 10 dias anterior ao valor do controle DataPrometida.
=DateDiff("d", [OrderDate], [ShippedDate]) Usa a função DifData para exibir o número da diferença dos dias entre os valores dos controles DataPedido e DataEnvio.
=[InvoiceDate] + 30 Usa operações aritméticas nas datas para calcular a data 30 dias após a data no campo ou controle DataFatura.

Voltar para o início

Condições de apenas dois valores

As expressões de exemplo na tabela a seguir usam a função SeImed para retornar um de dois valores possíveis. Você passa a função IIf três argumentos: o primeiro argumento é uma expressão que deve retornar um True valor 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
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") Usa a função IIf (Se Imediato) para exibir a mensagem "Order Confirmed" se o valor do controle Confirmado for Yes; caso contrário, ele exibe a mensagem "Order Not Confirmed."
=IIf(IsNull([Country/region]), " ", [Country]) 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.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) 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.
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) 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.

Voltar para o início

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 Between operador para fornecer uma data inicial e final e limitar os resultados da consulta a pedidos que foram enviados entre essas datas.

As seções a seguir fornecem exemplos de expressões para uso em consultas.

Operações de texto em consultas

As expressões na tabela a seguir usam os & operadores e + para combinar cadeias de caracteres de texto, usar funções internas para operar em uma cadeia de caracteres de texto ou, de outra forma, operar no texto para criar um campo calculado.

Expressão Descrição
FullName: [FirstName] & " " & [LastName] Cria um campo denominado NomeCompleto que exibe os valores nos campos Nome e Sobrenome, separados por um espaço.
Address2: [City] & " " & [Region] & " " & [PostalCode] Cria um campo denominado Endereço2 que exibe os valores nos campos Cidade, Região e CEP, separados por espaços.
ProductInitial: Left([ProductName], 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.
TypeCode: Right([AssetCode], 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.
AreaCode: Mid([Phone],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.
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 Nomeia o campo calculado PreçoEstendido e usa a função CCur para calcular os totais de itens da linha com um desconto aplicado.

Voltar para o início

Operações aritméticas em consultas

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 =[RequiredDate] - 2 retorna um valor data/hora igual a dois dias antes do valor no campo RequiredDate.

Expressão Descrição
PrimeFreight: [Freight] * 1.1 Cria um campo denominado FretePrincipal e exibe os encargos do frete mais 10% no campo.
OrderAmount: [Quantity] * [UnitPrice] Cria um campo denominado QuantidadePedido e exibe o produto dos valores nos campos Quantidade e PreçoUnitário.
LeadTime: [RequiredDate] - [ShippedDate] Cria um campo denominado TempoProcesso e exibe a diferença entre os valores nos campos DataRequerida e DataEnvio.
TotalStock: [UnitsInStock]+[UnitsOnOrder] Cria um campo denominado EstoqueTotal e exibe a soma dos valores nos campos UnidadesEmEstoque e UnidadesNoPedido.
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Cria um campo chamado FreightPercentage, e, em seguida, exibe o percentual de encargos de frete em cada subtotal. Essa expressão usa a Sum função para totalizar os valores no campo e, em Freight seguida, divide esses totais pela soma dos valores no Subtotal campo. Para usar essa expressão, converta sua consulta selecionada em uma consulta Totals. Você precisa usar a linha Total na grade de design e definir a célula Total para este campo como Expression. Para obter mais informações sobre como criar uma consulta total, consulte Somar dados usando uma consulta. Se você definir a Format propriedade do campo como 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, Exibir os totais das colunas em uma folha de dados usando uma linha Totais e Exibir os totais de colunas em uma folha de dados.

Voltar para o início

Operações de data em consultas

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
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) 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.
YearHired: DatePart("yyyy",[HireDate]) Cria um campo denominado AnoContratação e usa a função PartData para exibir o ano em que cada funcionário foi contratado.
MinusThirty: Date( )- 30 Cria um campo denominado MenosTrinta, em seguida, usa a função Data para exibir a data 30 dias antes da data atual.

Voltar para o início

Funções de agregação de SQL em consultas

As expressões na tabela a seguir usam funções SQL que agregam ou resumem dados. Geralmente, você vê funções como Sum, Counte Avg conhecidas 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 que permitem a soma ou contagem de valores seletivamente. Por exemplo, você pode contar apenas os valores em um determinado intervalo ou procurar um valor em outra tabela. As funções de agregação de domínio incluem DSum, DCount e DAvg.

Para calcular totais, muitas vezes você precisa criar uma consulta total. Por exemplo, para resumir por grupo, use uma consulta Totals. Para habilitar uma consulta Total na grade de design da consulta, selecione Totais no menu Exibir .

Expressão Descrição
RowCount: Count(*) 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).
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Cria um campo chamado FreightPercentage, e calcula o percentual de encargos de frete em cada subtotal dividindo a soma dos valores no Freight campo pela soma dos valores no Subtotal campo. Este exemplo usa a Sum função. Você deve usar essa expressão com uma consulta de Totais. Se você definir a Format propriedade do campo como Percent, não inclua *100. Para obter mais informações sobre como criar uma consulta total, consulte Somar dados usando uma consulta.
AverageFreight: DAvg("[Freight]", "[Orders]") 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.

Voltar para o início

Campos com dados ausentes

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
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) 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.
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) 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.
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) 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.

Voltar para o início

Campos calculados com subconsultas

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
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) Cria um campo denominado Gato e exibe o NomeCategoria, se a IDCategoria na tabela Categorias é igual à IDCategoria na tabela Produtos.

Voltar para o início

Corresponder os valores de texto

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

Campo Expressão Descrição
CidadeEnvio "London" Exibe os pedidos enviados para Londres.
CidadeEnvio "London" Or "Hedge End" Usa o Or operador para exibir pedidos enviados para Londres ou Hedge End.
RegiãoPaísEnvio In("Canada", "UK") Usa o In operador para exibir pedidos enviados para o Canadá ou o Reino Unido.
RegiãoPaísEnvio Not "USA" Usa o Not operador para exibir pedidos enviados para países/regiões diferentes dos EUA.
ProductName Not Like "C*" Usa o Not operador e o * caractere curinga para exibir produtos cujos nomes não começam com C.
NomeEmpresa >="N" Exibe pedidos enviados para empresas cujos nomes começam com as letras N por meio Zde .
CódigoProduto Right([ProductCode], 2)="99" Usa a função Right para exibir pedidos com valores productcode que terminam em 99.
NomeEnvio Like "S*" Exibe pedidos enviados para clientes cujos nomes começam com a letra S.

Voltar para o início

Corresponder critérios de data

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 Formatar um campo de data ou hora.

Campo Expressão Descrição
DataEnviada #2/2/2017# Exibe os pedidos enviados em 2 de fevereiro de 2017.
DataEnviada Date() Exibe os pedidos enviados hoje.
DataRequerida Between Date( ) And DateAdd("m", 3, Date( )) Usa o Between...And operador e as funções DateAdd e Date para exibir os pedidos necessários entre a data de hoje e três meses a partir da data de hoje.
OrderDate < Date( ) - 30 Usa a função Data para exibir os pedidos com mais de 30 dias.
OrderDate Year([OrderDate])=2017 Usa a função Ano para exibir os pedidos com datas de pedido em 2017.
OrderDate DatePart("q", [OrderDate])=4 Usa a função PartData para exibir os pedidos do quarto trimestre no calendário.
OrderDate DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 Usa as funções DataSerial, Ano e Mês para exibir os pedidos para o último dia de cada mês.
OrderDate Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) Usa as funções Ano e Mês e o operador And para exibir os pedidos do ano e mês atuais.
DataEnviada Between #1/5/2017# And #1/10/2017# Usa o Between...Andoperador para exibir pedidos enviados não antes de 5-Jan-2017 e no máximo 10-Jan-2017.
DataRequerida Between Date( ) And DateAdd("M", 3, Date( )) Usa o Between...And operador para exibir pedidos necessários entre a data de hoje e três meses a partir da data de hoje.
DataNascimento Month([BirthDate])=Month(Date()) Usa as funções Mês e Data para exibir os funcionários com datas de aniversário neste mês.

Voltar para o início

Localizar dados ausentes

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
ShipRegion Is Null Exibe os pedidos de clientes cujo campo ShipRegion é nulo (ausente).
ShipRegion Is Not Null Exibe os pedidos de clientes cujo campo ShipRegion 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).

Voltar para o início

Corresponder padrões registros com Como

O Like operador fornece muita flexibilidade quando você está tentando corresponder linhas que seguem um padrão, pois você pode usar Like com caracteres curinga e definir padrões para o Access corresponder. Por exemplo, o caractere curinga (asterisco * ) corresponde a uma sequência de caracteres de qualquer tipo e facilita a localização de todos os nomes que começam com uma letra. Por exemplo, você usa a expressão Like "S*" para encontrar todos os nomes que começam com a letra S. Para obter mais informações, consulte o artigo Como Operador.

Campo Expressão Descrição
NomeEnvio Like "S*" Localiza todos os registros no campo NomeEnvio que começam com a letra S.
NomeEnvio Like "*Imports" Localiza todos os registros no campo NomeEnvio que começam com a palavra "Importa".
NomeEnvio Like "[A-D]*" Localiza todos os registros no campo NomeEnvio que começam com as letras A, B, C ou D.
NomeEnvio Like "*ar*" Localiza todos os registros no campo NomeEnvio que começam com a sequência de letras "ar".
NomeEnvio Like "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.

Voltar para o início

Corresponder linhas com agregações de SQL

Você usa uma função SQL ou 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
Carga > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) 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 > DAvg("[Quantity]", "[Order Details]") Usa a função BDMédia para exibir os produtos pedidos em quantidades acima da quantidade média dos pedidos.

Voltar para o início

Corresponder campos com 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 [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") Produtos cujo preço é igual ao preço do Xarope de Semente de Anis.
PreçoUnitário >(SELECT AVG([UnitPrice]) FROM [Products]) Produtos que têm um preço unitário acima da média.
Salário > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) 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([UnitPrice] * [Quantity]) FROM [Order Details]) Pedidos com totais mais altos que o valor médio dos pedidos.

Voltar para o início

Atualizar consultas

Use 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 em consultas de atualização. Use essas expressões na Update To linha na grade de design de consulta para o campo que você 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 "Salesperson" Altera um valor de texto para Vendedor.
InícioProjeto #8/10/17# Altera um valor de data para 10-ago-17.
Desativado Yes Altera um valor Não em um campo Sim/Não para Sim.
NúmeroPeça "PN" & [PartNumber] Adiciona "NP" ao início de cada número de peça especificado.
TotalItemLinha [UnitPrice] * [Quantity] Calcula o produto do PreçoUnitário e da Quantidade.
Frete [Freight] * 1.5 Aumenta os encargos do frete em 50%.
Vendas DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) 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 Right([ShipPostalCode], 5) Corta os caracteres mais à esquerda, deixando os cinco caracteres mais à direita.
Preçounitário Nz([UnitPrice]) Altera um valor nulo (desconhecido ou indefinido) para zero (0) no campo PreçoUnitário.

Voltar para o início

Instruções SQL

linguagem SQL (SQL) é a linguagem de consulta que o Access usa. Todas as consultas criadas na exibição Design de Consulta também podem ser expressas usando SQL. Para ver a instrução SQL para qualquer consulta, selecione Exibição de SQL no menu Exibir . A tabela a seguir mostra instruções SQL de exemplo que usam uma expressão.

Instrução SQL que usa uma expressão Resultado
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; Exibe os valores nos campos Nome e Sobrenome para funcionários cujo sobrenome é Danseglio.
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; 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 Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>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 [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; Em um campo denominado ContarIDProduto, exibe o número total de produtos para as categorias com mais de 10 produtos.

Voltar para o início

Expressões de tabela

Duas maneiras mais comuns de usar expressões nas tabelas são atribuir um valor padrão e criar uma regra de validação.

Valores padrão de campo

Ao criar um banco de dados, você pode querer atribuir um valor padrão a um campo ou controle. O Access fornece esse valor 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 mostram valores padrão de exemplo para um campo ou controle. Se um controle estiver 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 de campo padrão
Quantidade 1 1
Região "MT" MT
Região "New 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 Date( ) Data de hoje
DataVencimento Date() + 60 A data de 60 dias a partir de hoje

Voltar para o início

Regras de validação de campo

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, modifique a ValidationRule propriedade do campo ou controlo. Também deve considerar a definição da ValidationText propriedade, que contém o texto que o Access apresenta quando a regra de validação é violada. Se não definir a propriedade, o ValidationText Access apresenta uma mensagem de erro predefinida.

Os exemplos na tabela seguinte mostram expressões de regras de validação para a ValidationRule propriedade e o texto associado da ValidationText propriedade.

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.
< #1/1/2017# Insira uma data anterior a 01/01/2017.
>= #1/1/2017# And < #1/1/2008# A data deve se situar em 2017.

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.

Voltar para o início

Expressões de macro

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 seja executada apenas quando o valor da caixa de texto contador for 10. Utilize uma expressão para definir a condição num bloco Se:

[Counter]=10

Tal como acontece com a ValidationRule propriedade , a expressão num bloco Se é uma expressão condicional. Tem de resolve a ou TrueFalse. A ação ocorre somente quando a condição é verdadeira.

Use essa expressão para executar a ação If
[City]="Paris" Paris é o valor Cidade no campo do formulário a partir do qual a macro foi executada.
DCount("[OrderID]", "Orders") > 35 Há mais de 35 entradas no campo IDPedido da tabela Pedidos.
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 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.
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# O valor do campo DataEnviada no formulário a partir do qual a macro é executada não é anterior a 2 de fevereiro de 2017 e não posterior a 2 de março de 2017.
Forms![Products]![UnitsInStock] < 5 O valor do campo UnidadesEmEstoque no formulário Produtos é menor que 5.
IsNull([FirstName]) 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.
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 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.
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>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.
MsgBox("Confirm changes?",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.

Voltar para o início

Confira também