Função Sum (Microsoft Access SQL)

Aplica-se ao: Access 2013 | Access 2016

Retorna a soma de um conjunto de valores contidos em um campo especificado de uma consulta.

Sintaxe

Sum(expr)

O espaço reservado expr representa uma expressão de sequência que identifica o campo que contém os dados numéricos que deseja adicionar ou uma expressão que executa um cálculo utilizando os dados naquele campo. Os operadores em expr podem incluir o nome de um campo da tabela, uma constante ou uma função (que pode ser intrínseca ou definida pelo usuário, mas não uma de outras funções agregadas do SQL).

Comentários

A função sum totaliza os valores em um campo. Por exemplo, você pode usar a função Sum para determinar o custo total das cobranças de frete.

A função Sum ignora os registros que contêm campos Null. O exemplo a seguir mostra como você pode calcular a soma dos produtos nos campos UnitPrice e Quantity:

SELECT 
Sum(UnitPrice * Quantity) 
AS [Total Revenue] FROM [Order Details];

Use a função Soma em uma expressão de consulta. Você também pode usar uma expressão na propriedade SQL de um objeto QueryDef ou ao criar um objeto Recordset com base em uma consulta SQL.

Exemplo

Este exemplo usa a tabela Orders para calcular o total de vendas para pedidos enviados para o Reino Unido.

Este exemplo chama o procedimento EnumFields, que você pode encontrar no exemplo de instrução SELECT.

Sub SumX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Calculate the total sales for orders shipped to 
    ' the United Kingdom. 
    Set rst = dbs.OpenRecordset("SELECT" _ 
        & " Sum(UnitPrice*Quantity)" _ 
        & " AS [Total UK Sales] FROM Orders" _ 
        & " INNER JOIN [Order Details] ON" _ 
        & " Orders.OrderID = [Order Details].OrderID" _ 
        & " WHERE (ShipCountry = 'UK');") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
 
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
     
    dbs.Close 
 
End Sub

Confira também

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.