Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 VBA (Visual Basic for Applications), 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 durante um período de tempo. Ou você pode usar a função DSum em um controle calculado para exibir uma soma em execução de vendas para um determinado produto.

Sintaxe

DSum ( expr , domínio [, critérios] )

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

Argumento

Descrição

expr

Obrigatório. Uma expressão que identifica o campo numérico cujos valores você deseja totalizar. Pode ser um 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 de agregação de domínio ou de agregação de SQL.

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 requer 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 os critérios forem omitidos, a função DSumavaliará expr em relação a todo o domínio. Qualquer campo incluído nos 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 atender ao argumento de critérios ou se o domínio não contiver registros, a função DSum retornará um Null.

Se você usa a função DSum em uma macro, módulo, expressão de consulta ou controle calculado, você deve construir o argumento de critério cuidadosamente para garantir que ele seja avaliado corretamente.

Você pode usar a função DSum para especificar critérios na linha Critérios 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 Soma , 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 de vendas desse produto em um controle calculado.

dica

Se você precisar manter um total em 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: Alterações não salvas 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 seja baseada nos valores alterados, primeiro salve as alterações clicando em Salvar Registro no grupo Registros na guia Página Inicial , 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 Produtos. 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ê executa 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 o DSum no código VBA    

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

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

Dim curX As CurrencycurX = 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 (#) sã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 é fechado em aspas individuais e a data é fechada em sinais de libra.

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

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.