Partilhar via


Método Application.DSum (Access)

Use a função DSum para calcular a soma de um conjunto de valores em um conjunto especificado de registros (um domínio).

Sintaxe

expressão. DSum (Expr, Domínio, Critérios)

expressão Uma variável que representa um Aplicativo objeto.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Expr Obrigatório String Uma expressão que identifica os valores do campos numérico, valores os quais você deseja totalizar. Pode ser uma expressão de cadeia de caracteres que identifica um campo em uma tabela ou consulta ou uma expressão que executa um cálculo nos dados desse campo. Na expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, em uma constante ou em 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 String Uma expressão formada por cadeia de caracteres que identifica o conjunto de registros que constitui o domínio. Pode ser um nome de tabela ou um nome de uma consulta que não exija um parâmetro.
Criteria Opcional Variantes Uma expressão de cadeia de caracteres opcional usada para restringir o intervalo de dados no qual a função DCount é executada. Por exemplo, criteria com frequência é equivalente à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se criteria for omitido, a função DCount avalia expr em relação ao domínio inteiro. 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.

Valor de retorno

Variant

Comentários

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

Se nenhum registro atender ao argumento de critério 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.

Use 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 uma consulta de atualização.

Observação

Use a função DSum ou Sum em uma expressão de campo calculada em uma consulta total. 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 da expressão do campo sejam avaliados.

Você poderá usar a função DSum quando precisar exibir a soma de um conjunto de valores de um campo que não esteja na fonte de registro de seu formulário ou relatório. Por exemplo, suponha que você tenha um formulário que exiba informações sobre um produto específico. Você pode usar a função DSum para manter uma soma total de vendas de produto em um controle calculado.

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 acumulada em um formulário.

Exemplo

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 de critérios restringe o conjunto resultante de registros àqueles para os quais o ShipCountry é igual ao Reino Unido.

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

O exemplo a seguir calcula o total, usando dois critérios separados. Observe que as aspas simples (') e os sinais numéricos (#) são incluídos na expressão de cadeia de caracteres, para que quando as cadeias de caracteres forem concatenadas, a cadeia de caracteres literal será colocada entre aspas simples e a data será colocada entre sinais numéricos.

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

Os exemplos a seguir mostram como usar os diversos tipos de critérios com a função DSum.

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DSum("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DSum("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DSum("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DSum("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DSum("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DSum("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DSum("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DSum("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DSum("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DSum("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.