Ir para conteúdo
Fórum Script Brasil
  • 0

Dica 03


rbordini

Pergunta

Exemplos de expressões

Você utiliza expressões em muitas operações no Microsoft Access, incluindo criação de controles calculados, critérios de consulta e de filtro, valores padrão, regras de validação e condições de macro. Freqüentemente, a maneira mais fácil de criar uma expressão é localizar um exemplo de uma expressão que seja semelhante àquela que você deseja criar e modificá-la para que faça o que você deseja.

A tabela a seguir lista exemplos de expressões que você pode usar em controles calculados de formulários, relatórios e páginas de acesso a dados.

Expressão Descrição

=Data() Utiliza a função Date para exibir a data atual no formato dd-mm-aaaa, onde dd é o dia (de 1 a 31), mm é o mês (de 1 a 12) e aaaa é o ano (de 1980 a 2099).

=Formato(Agora(); "ss") Utiliza a função Formato para exibir o número da semana do ano que a data atual representa, onde ss vai de 1 a 53.

=PartData("aaaa"; [DataDoPedido]) Utiliza a função PartData para exibir o ano em quatro dígitos do valor do campo DataDoPedido.

=SomData("a"; -10, [DataPrometida]) Utiliza a função SomData para exibir uma data que está 10 dias antes do valor do campo DataPrometida.

=DifData("d"; [DataDoPedido]; [DataDeEnvio]) Utiliza a função DifData para exibir a variação em dias entre os valores dos campos DataDoPedido e DataDeEnvio.

Observações

Na propriedade OrigemDoControle de um controle calculado, preceda a expressão com o operador =. Em uma página de acesso a dados, você pode omitir o operador = e digitar um alias em vez dele; por exemplo, digite NúmeroDaSemana: Formato(Agora(), "ww"). Por exemplo, digite NúmeroDaSemana: Formato(Agora(), "ss").

Quando você definir a propriedade Nome de um controle calculado em um formulário ou relatório, ou definir a propriedade ID de um controle calculado em uma página de acesso a dados, certifique-se de utilizar um nome exclusivo. Não utilize o nome ou código de um dos controles já utilizados na expressão.

Em uma expressão em um formulário ou relatório, você pode utilizar o nome de um controle ou o nome de um campo na origem do registro base. Em uma expressão em uma página de acesso a dados, você pode utilizar somente o nome de um campo que esteja na definição de dados da página.

Exemplos de manipulação de valores de texto

A tabela a seguir lista exemplos de expressões que você pode usar em controles calculados de formulários, relatórios e páginas de acesso a dados.

Expressão Descrição

="N/D" Exibe N/D.

=[Nome]&" "&[sobrenome] Exibe os valores dos campos Nome e Sobrenome separados por um espaço.

=Esquerda([NomeDoProduto], 1) Utiliza a função Esquerda para exibir o primeiro caractere do valor do campo NomeDoProduto.

=Direita([CódigoDoAtivo], 2) Utiliza a função Direita para exibir os 2 últimos caracteres do valor do campo CódigoDoAtivo.

=SuprEspaço([Endereço]) Utiliza a função SuprEspaço para exibir o valor do campo Endereço, removendo qualquer espaço inicial ou final.

=SeImed(ÉNulo([Região]),[Cidade]&" "& [CEP],[Cidade]&" "&[Região]&" "& [CEP]) Utiliza a função SeImed para exibir os valores dos campos Cidade e CEP se Região for Nulo ("Null"); caso contrário, exibe os valores dos campos Cidade, Estado e CEP, separados por espaços.

Observações

Na propriedade OrigemDoControle de um controle calculado, preceda a expressão com o operador =. Em uma página de acesso a dados, você pode omitir o operador = e digitar um alias em vez dele. Por exemplo, digite NomeCompleto: [Nome]&" "& [sobrenome].

Quando você definir a propriedade Nome de um controle calculado em um formulário ou relatório, ou definir a propriedade ID de um controle calculado em uma página de acesso a dados, certifique-se de utilizar um nome exclusivo. Não use o nome ou código de um dos controles já utilizados na expressão.

Em uma expressão em um formulário ou relatório, você pode usar o nome de um controle ou campo na origem do registro base. Em uma expressão em uma página de acesso a dados, você pode usar somente o nome de um campo que esteja na definição de dados dessa página.

Exemplos de manipulação de operações aritméticas

A tabela a seguir lista exemplos de expressões que você pode usar em controles calculados de formulários, relatórios e páginas de acesso a dados.

Expressão Descrição

=[subtotal] + [Frete] A soma dos valores dos campos Subtotal e Frete.

=[DataDeEntrega]-[DataDeEnvio] A diferença entre os valores dos campos DataDeEntrega e DataDeEnvio.

=[Preço] * 1,06 O produto do valor do campo Preço e 1,06 (adiciona 6% ao valor Preço).

=[Quantidade] * [Preço] O produto dos valores dos campos Quantidade e Preço.

=[TotalDeFuncionários]/[TotalDePaíses] O quociente dos valores dos campos TotalDeFuncionários e TotalDePaíses.

Observações

Na propriedade OrigemDoControle de um controle calculado, preceda a expressão com o operador =. Em uma página de acesso a dados, você pode omitir o operador = e digitar um alias em vez dele. Por exemplo, digite PreçoTotal: [Quantidade] * [Preço].

Quando você definir a propriedade Nome de um controle calculado em um formulário ou relatório, ou definir a propriedade ID de um controle calculado em uma página de acesso a dados, certifique-se de utilizar um nome exclusivo. Não utilize o nome ou o código de um dos controles já utilizados na expressão.

Em uma expressão em um formulário ou relatório, você pode utilizar o nome de um controle ou o nome de um campo na origem do registro base. Em uma expressão em uma página de acesso a dados, você pode utilizar somente o nome de um campo que esteja na definição de dados da página.

Quando você utiliza um operador aritmético (+, -, *, /) em uma expressão e o valor de um dos controles na expressão é Null, o resultado de toda a expressão será Null. Em um formulário ou relatório, se for possível que alguns registros em um dos controles utilizado na expressão tenham um valor Null, você poderá converter o valor Null em zero utilizando a função Nz. Por exemplo:

=Msodsc.Nz([subtotal]) + Msodsc.Nz([Freight])

Exemplos de expressões condicionais

A tabela a seguir lista exemplos de expressões que você pode usar em controles calculados de formulários, relatórios e páginas de acesso a dados.

Expressão Descrição

=SeImed([Confirmado] = "Sim"; "Pedido Confirmado"; "Pedido Não-Confirmado") Exibe a mensagem "Pedido Confirmado" se o valor do campo Confirmado for Sim. Caso contrário, exibe a mensagem "Pedido Não-Confirmado".

=SeImed(ÉNulo([País]); " "; [País]) Exibe uma seqüência vazia se o valor do campo País for Nulo. Caso contrário, exibe o valor do campo País.

=SeImed(ÉNulo([Região]),[Cidade]&" "& [CEP], [Cidade]&" "&[Região]&" " &[CEP]) Exibe os valores dos campos Cidade e CEP se Região for Nulo. Caso contrário, exibe os valores dos campos Cidade, Região e CEP.

=SeImed(ÉNulo([DataDeEntrega] - [DataDeEnvio]); "Verificar se falta uma data"; [DataDeEntrega] - [DataDeEnvio]) Exibe a mensagem "Verificar se falta uma data" se o resultado da subtração de DataDeEnvio de DataDeEntrega for Nulo. Caso contrário, exibe a diferença entre os valores dos campos DataDeEntrega e DataDeEnvio.

Observações

Na propriedade OrigemDoControle de um controle calculado, preceda a expressão com o operador =. Em uma página de acesso a dados, você pode omitir o operador = e digitar um alias em vez dele. Por exemplo, digite ExibirPaís: SeImed(ÉNulo([País])," ",[País]).

Quando você definir a propriedade Nome de um controle calculado em um formulário ou relatório, ou definir a propriedade ID de um controle calculado em uma página de acesso a dados, certifique-se de utilizar um nome exclusivo. Não use o nome ou código de um dos controles já utilizados na expressão.

Em uma expressão em um formulário ou relatório, você pode utilizar o nome de um controle ou o nome de um campo na origem do registro base. Em uma expressão em uma página de acesso a dados, você pode utilizar somente o nome de um campo que esteja na definição de dados da página.

Exemplos de funções agregadas e funções agregadas de domínio

Observação Não é possível usar funções agregadas e funções agregadas de domínio em uma página de acesso a dados. Além disso, não é possível usar funções agregadas de domínio em um projeto do Microsoft Access (.adp).

Exemplos de expressões que usam funções agregadas

Expressão Descrição

=Média([Frete]) Utiliza a função Média para exibir a média dos valores do controle Frete.

=Contar([NúmeroDoPedido]) Utiliza a função Contar para exibir o número de registros no controle NúmeroDoPedido.

=Soma([Vendas]) Utiliza a função Soma para exibir a soma dos valores do controle Vendas.

=Soma([Quantidade] * [Preço]) Utiliza 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 de vendas, determinada pela divisão do valor do controle Vendas pela soma de todos os valores do controle Vendas.

Observação Se a propriedade Formato do controle estiver definida como Porcentagem, não inclua o *100.

Exemplos de expressões que usam funções agregadas de domínio

Expressão Descrição

=DPesquisa("[NomeDoContato]"; "[Fornecedores]"; "[CódigoDoFornecedor] = Forms![CódigoDoFornecedor]") Utiliza a função DPesquisa para exibir o valor do campo NomeDoContato na tabela Fornecedores onde o valor do campo CódigoDoFornecedor na tabela corresponde ao valor do controle CódigoDoFornecedor no formulário ativo.

=DPesquisa("[NomeDoContato]"; "[Fornecedores]"; "[CódigoDoFornecedor] = Forms![Novos Fornecedores]![CódigoDoFornecedor]") Utiliza a função DPesquisa para exibir o valor do campo NomeDoContato na tabela Fornecedores onde o valor do campo CódigoDoFornecedor na tabela corresponde ao valor do controle CódigoDoFornecedor no formulário Novos Fornecedores.

=DSoma ("[TotalDoPedido]"; "[Pedidos]"; "[CódigoDoCliente] = 'RATTC'") Utiliza a função DSoma para exibir o total da soma de valores do campo TotalDoPedido na tabela Pedidos onde o CódigoDoCliente é RATTC.

Observações

Em um controle calculado, preceda a expressão com o operador =.

Quando você definir a propriedade Nome de um controle calculado, certifique-se de utilizar um nome exclusivo. Não utilize o nome de um dos controles já utilizados na expressão.

Exemplos de expressões utilizadas em consultas e filtros

Exemplos de critérios utilizados para recuperar registros

Intervalos de valores (>, <, >=, <=, <> ou Entre...E)

Expressão Resultado

> 234 Para um campo Quantidade, números maiores do que 234

< 1200,45 Para um campo PreçoUnitário, números menores do que 1200,45

>= "Callahan" Para um campo Sobrenome, todos os nomes desde Callahan até o final do alfabeto

Entre #02/02/99# E #01/12/99# Para um campo DataDoPedido, as datas de 2-fev-99 até 1-dez-99 (ANSI-89)

Entre #02/02/99# E #01/12/99# Para um campo DataDoPedido, as datas de 2-fev-99 até 1-dez-99 (ANSI-92)

Valores que não correspondem (Not)

Expressão Resultado

Not "EUA" Para um campo PaísDeDestino, os pedidos enviados para países que não sejam os EUA

Not 2 Para um campo de identificação, o funcionário cujo código de identificação não é igual a 2

Not T* Para um campo Sobrenome, funcionários cujos nomes não começam com a letra "T" (ANSI-89)

Not T% Para um campo Sobrenome, funcionários cujos nomes não começam com a letra "T" (ANSI-92)

Valores em uma lista (In)

Expressão Resultado

In("Canadá"; "RU") Para um campo PaísDeDestino, pedidos enviados para o Canadá ou para o Reino Unido

In (França, Alemanha, Japão) Para um campo NomeDoPaís, funcionários morando na França, na Alemanha ou no Japão

Valores de texto, parciais e correspondentes

Expressão Resultado

"Londres" Para um campo CidadeDeDestino, pedidos enviados para Londres

"Londres" ou "Hedge End" Para um campo CidadeDeDestino, pedidos enviados para Londres ou Hedge End

>="N" Para um campo NomeDaEmpresa, pedidos enviados para empresas cujos nomes começam com as letras de N a Z.

Como "S*" Para um campo NomeDoDestinatário, pedidos enviados para clientes cujo nome começa com a letra S (ANSI-89)

Como "S%" Para um campo NomeDoDestinatário, pedidos enviados para clientes cujo nome começa com a letra S (ANSI-92)

Direita([NúmeroDoPedido]; 2)="99" Para um campo NúmeroDoPedido, pedidos com números de identificação terminando em 99

Compr([NomeDaEmpresa]) > Val(30) Para um campo NomeDaEmpresa, pedidos enviados para empresas cujo nome tem mais de 30 caracteres

Parte do valor de um campo (Como)

Expressão Resultado

Como "S*" Para um campo NomeDoDestinatário, pedidos enviados para clientes cujos nomes começam com a letra S (ANSI-89)

Como "S%" Para um campo NomeDoDestinatário, pedidos enviados para clientes cujos nomes começam com a letra S (ANSI-92)

Como "*Importações" Para um campo NomeDoDestinatário, pedidos enviados a clientes cujos nomes terminam com a palavra "Importações" (ANSI-89)

Como "%Importações" Para um campo NomeDoDestinatário, pedidos enviados a clientes cujos nomes terminam com a palavra "Importações" (ANSI-92)

Como "[A-D]*" Para um campo NomeDoDestinatário, pedidos enviados a clientes cujos nomes começam com A até D (ANSI-89)

Como "[A-D]%" Para um campo NomeDoDestinatário, pedidos enviados a clientes cujos nomes começam com A até D (ANSI-92)

Como "*ar*" Para um campo NomeDoDestinatário, pedidos enviados a clientes cujos nomes incluem a seqüência de letras "ar" (ANSI-89)

Como "ar%" Para um campo NomeDoDestinatário, pedidos enviados a clientes cujos nomes incluem a seqüência de letras "ar" (ANSI-92)

Como "Maison Dewe?" Para um campo NomeDoDestinatário, pedidos enviados para o cliente com "Maison" como primeira parte de seu nome e um segundo nome de 5 letras no qual as primeiras 4 são "Dewe" e a última é desconhecida (ANSI-89).

Como "Maison Dewe_" Para um campo NomeDoDestinatário, pedidos enviados para o cliente com "Maison" como primeira parte de seu nome e um segundo nome de 5 letras no qual as primeiras 4 são "Dewe" e a última é desconhecida (ANSI-92).

Datas

Expressão Resultado

#2/2/2000# Para um campo DataDeEnvio, pedidos enviados em 2 de fevereiro de 2000 (ANSI-89)

'2/2/2000' Para um campo DataDeEnvio, pedidos enviados em 2 de fevereiro de 2000 (ANSI-92)

=Data() Para um campo DataDeEnvio, os pedidos referentes à data de hoje

Entre Data( ) E SomData("M"; 3; Data( )) Para um campo DataDeEntrega, os pedidos feitos entre a data de hoje e três meses a partir da data de hoje

< Data( )- 30 Para um campo DataDoPedido, pedidos com mais de 30 dias

Ano([DataDoPedido]) = 1999 Para um campo DataDoPedido, pedidos datados de 1999

=PartData("aaaa"; [DataDoPedido]) Para um campo DataDoPedido, pedidos para o quarto trimestre do ano

DataSerial(Ano ([DataDoPedido]), Mês([DataDoPedido]) + 1, 1) - 1 Para um campo DataDoPedido, pedidos para o último dia de cada mês

Ano([DataDoPedido])=Ano(Agora()) e Mês([DataDoPedido])=Mês(Agora()) Para um campo DataDoPedido, pedidos para o ano e o mês em curso

O valor de um campo vazio (Nulo ou seqüência de comprimento zero)

Expressão Resultado

É nulo Para um campo RegiãoDeEnvio, pedidos de clientes cujo campo RegiãoDeEnvio é Nulo (em branco)

É negado nulo Para um campo RegiãoDeEnvio, pedidos de clientes cujo campo RegiãoDeEnvio contém um valor

" " Para campos de fax, pedidos de clientes que não têm fax, o que é indicado por um valor seqüência de comprimento zero no campo Fax em vez de um valor Nulo (em branco).

O resultado de uma função agregada de domínio

Expressão Resultado

>(DDesv("[Frete]", "Pedidos") + DMédia("[Frete]", "Pedidos")) Para um campo Frete, pedidos para os quais o custo do frete subiu acima da média mais o desvio padrão para custo de frete

>DMédia("[Quantidade]"; "Detalhes do Pedido") Para um campo Quantidade, produtos pedidos em quantidades acima da quantidade média de pedidos

Resultado de uma subconsulta como critério

Expressão Resultado

(SELECT [PreçoUnitário] FROM [Produtos] WHERE [NomeDoProduto] = "Xarope de anis") Para um campo PreçoUnitário, produtos cujo preço é o mesmo que o preço do xarope de anis.

>(SELECT AVG([PreçoUnitário]) FROM [Produtos]) Para um campo PreçoUnitário, produtos com preço unitário acima da média

> ALL (SELECT [salário] FROM [Funcionários] WHERE ([Cargo] LIKE "*Gerente*") ou ([Cargo] LIKE "*Vice-Presidente*")) Para um campo Salário, o salário de cada representante de vendas cujo salário seja maior que os de todos os funcionários com cargos "Gerente" ou "Vice-Presidente"

> ALL (SELECT AVG([PreçoUnitário] * [Quantidade]) FROM [Detalhes do Pedido]) Para um campo calculado TotalDoPedido: [PreçoUnitário] * [Quantidade], pedidos com totais mais altos do que o valor médio dos pedidos

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Rodrigo

Eu estou utilizando a função DSoma para soma de campos no banco de dados. A questão é quando utilizo um critério ele me traz os dados corretamente, mas quando utilizo dois critérios, o resultado ignora os critérios.

Este é a linha que estou utilizando no campo do formulário: =DSoma("[valor]";"contas_movimento";"[creditodebito]='1'" E "[pagarreceber]='2'")

Se possível for me ajudar ou agradeço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...