Função DSum

Você pode usar a função DSum para calcular a soma de um conjunto de valores em um conjunto especificado de registros (um domínio ). Use a função DSum em um módulo Visual Basic for Applications (VBA), um macro, uma expressão de consulta ou um controle calculado.

Por exemplo, você pode usar a função DSum em uma expressão de campo calculada em uma consulta para calcular o total de vendas feitas por um determinado funcionário por um período de tempo. Ou você pode usar a função DSum em um controle calculado para exibir uma soma de vendas em execução para um determinado produto.

Sintaxe

DSum ( expr , domain [ ,criteria] )

A sintaxe da função DSum tem estes argumentos:

Argumento

Descrição

expr

Obrigatório. Uma expressão que identifica o campo numérico cujos valores você deseja total. Pode ser uma expressão de cadeia de caracteres identificar um campo em uma tabela ou consulta, ou pode ser uma expressão que executa um cálculo sobre dados nesse campo. Em expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, uma constante ou uma função. Se expr incluir uma função, ela poderá ser interna ou definida pelo usuário, mas não outra função agregada de domínio ou SQL agregada.

domínio

Obrigatório. Uma expressão de cadeia de caracteres que identifica o conjunto de registros que constitui o domínio. Pode ser um nome de tabela ou um nome de consulta para uma consulta que não exige um parâmetro.

critérios

Opcional. Uma expressão de cadeia de caracteres usada para restringir o intervalo de dados no qual a função DSum é executada. Por exemplo, os critérios geralmente são equivalentes à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se critérios for omitido, a função DSum avaliará expr em relação a todo o domínio. Qualquer campo incluído em critérios também deve ser um campo no domínio; caso contrário, a função DSum retorna um Null.


Comentários

Se nenhum registro satisfaça o argumento criteria ou se o domínio não contiver registros, a função DSum retornará Null.

Se você usar a função DSum em uma macro, módulo, expressão de consulta ou controle calculado, você deve construir o argumento criteria cuidadosamente para garantir que ele será avaliado corretamente.

Você pode usar a função DSum para especificar critérios na linha Criteria de uma consulta, em um campo calculado em uma expressão de consulta ou na linha Atualizar para de um atualizar consulta.

Observação: Você pode usar a função DSum ou Sum em uma expressão de campo calculada em um consulta de totais. Se você usar a função DSum, os valores serão calculados antes que os dados sejam agrupados. Se você usar a função Sum, os dados serão agrupados antes que os valores na expressão de campo sejam avaliados.

Talvez você queira usar a função DSum quando precisar exibir a soma de um conjunto de valores de um campo que não está na fonte de registro para seu formulário ou relatório. Por exemplo, suponha que você tenha um formulário que exibe informações sobre um determinado produto. Você pode usar a função DSum para manter um total em execução de vendas desse produto em um controle calculado.

dica

Se você precisar manter um total de execução em um controle em um relatório, poderá usar a propriedade RunningSum desse controle, se o campo no qual ele se baseia estiver incluído na fonte de registro do relatório. Use a função DSum para manter uma soma em execução em um formulário.

Observação: As alterações não savadas nos registros no domínio não são incluídas quando você usa essa função. Se você quiser que a função DSum se basee nos valores alterados, primeiro salve as alterações clicando em Salvar Registro no grupo Registros na guia Início, movendo o foco para outro registro ou usando o método Update.

Exemplos

Usar a função DSum em uma expressão    Você pode usar uma função de domínio (como DSum) na linha Atualizar para de uma consulta de atualização. Por exemplo, suponha que você queira acompanhar as vendas atuais por produto em uma tabela Products. Você pode adicionar um novo campo chamado SalesSoFar à tabela Produtos e executar uma consulta de atualização para calcular os valores corretos e atualizar os registros. Para fazer isso, crie uma nova consulta com base na tabela Produtos e, na guia Design, no grupo Tipo de Consulta, clique em Atualizar. Adicione o campo SalesSoFar à grade de consulta e digite o seguinte na linha Atualizar para:

DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])

Quando você executar a consulta, o Access calcula a quantidade total de vendas para cada produto, com base nas informações de uma tabela Detalhes do Pedido. A soma das vendas de cada produto é adicionada à tabela Produtos.

Usar DSum no código do VBA    

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na listada ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

O exemplo a seguir totaliza os valores do campo Frete para pedidos enviados para o Reino Unido. O domínio é uma tabela Orders. O argumento criteria restringe o conjunto de registros resultante àqueles para os quais ShipCountryRegion é igual ao Reino Unido.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

O próximo exemplo calcula um total usando dois critérios separados. Observe que as aspas simples (') e os sinais de número (#) estão incluídos na expressão de cadeia de caracteres, de modo que, quando as cadeias de caracteres são concatenadas, o literal da cadeia de caracteres é entre aspas simples e a data é delimitada em sinais de libra.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")

Precisa de mais ajuda?

Expanda suas habilidades no Office
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.

×