Exemplos de expressões

Este artigo fornece vários 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.

Neste artigo

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.

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 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.

=[FirstName] & " " & [LastName]

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.

=Left([ProductName], 1)

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

=Right([AssetCode], 2)

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

=Trim([Address])

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

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

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.

=[City] & (" " + [Region]) & " " & [PostalCode]

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 + presta suporte à propagação nula, o operador & não.

Início da Página

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

=[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

Início da Página

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

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ê 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([Freight]).

Início da Página

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.

Início da Página

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 a porcentagem das vendas, determinada pela divisão do valor do controle Vendas pela soma de todos os valores do controle Vendas.

Se você definir a propriedade Format 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, Contar as linhas em uma folha de dados e Exibir os totais de colunas em uma folha de dados.

Início da Página

Funções agregadas do SQL

Você usa um tipo de função denominado função de agregação de domínio ou SQL 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.

Início da Página

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 Data para exibir a data atual no formato mm-dd-yy, em que mm é o mês (1 a 12), dd é o dia (1 a 31) e yy são os dois últimos dígitos do ano (de 1980 a 2099).

=Format(Now(), "ww")

Usa a função Formatar para exibir o número da semana do ano para a data atual, em que ww representa as semanas, de 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.

Início da Página

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 à função SeImed três argumentos: o primeiro argumento é uma expressão que deve retornar um valor True 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 SeImed (Se Imediato) para exibir a mensagem "Pedido Confirmado" se o valor do controle Confirmado for Yes. Caso contrário, a mensagem "Order Not Confirmed." será exibida

=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.

Início da Página

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.

Os elementos a seguir fornecem exemplos de expressões para usar nas consultas.

Operações de texto

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

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.

Início da Página

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 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 DataRequerida.

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 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 saber mais sobre como criar uma consulta de Totais, confira o artigo Somar dados usando uma consulta.

Se você definir a propriedade Format 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, Contar as linhas em uma folha de dados e Exibir os totais de colunas em uma folha de dados.

Início da Página

Operações de data

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.

Início da Página

Funções agregadas do SQL

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

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 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.)

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 saber mais sobre como criar uma consulta de Totais, confira o artigo 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.

Início da Página

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.

Início da Página

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.

Início da Página

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 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

Right([ProductCode], 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.

Início da Página

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 Inserir um valor 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 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

< Date( ) - 30

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

DataPedido

Year([OrderDate])=2017

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

DataPedido

DatePart("q", [OrderDate])=4

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

DataPedido

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.

DataPedido

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 operador Between...And para exibir os pedidos enviados não antes de 5-Jan-2017 e não depois de 10-Jan-2017.

DataRequerida

Between Date( ) And DateAdd("M", 3, Date( ))

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

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.

Início da Página

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

RegiãoEnvio

Is Null

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

RegiãoEnvio

Is Not Null

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).

Início da Página

Corresponder padrões registros com Como

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, veja o artigo Operador As.

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

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.

Início da Página

Corresponder linhas com agregações de SQL

Você usa uma função de agregação de domínio ou o SQL 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

> (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.

Início da Página

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.

Início da Página

Atualizar consultas

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

"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.

Início da Página

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 [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.

Início da Página

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, convém atribuir um valor padrão a um campo ou controle. Em seguida, o Access fornecerá o valor padrão quando um novo registro que contém o campo for criado ou quando um objeto que contém o controle for criado. As expressões na tabela a seguir representam os valores padrão de exemplo para um campo ou controle. 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

"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

Início da Página

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, 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.

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.

< #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.

Início da Página

Expressões de macro

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:

[Counter]=10

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

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

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

Se

[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.

Início da Página

Consulte Também

Usar o Construtor de Expressões

Introdução às expressões

Criar uma expressão

Guia para a sintaxe de expressões

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.

×