Функция Sum (Microsoft Access SQL)

Область применения: Access 2013 | Access 2016

Возвращает сумму набора значений, содержащихся в указанном поле запроса.

Синтаксис

Sum(expr)

Заполнитель expr представляет строковое выражение, идентифицирующее поле, содержащее числовые данные, которые требуется добавить, или выражение, которое выполняет вычисление с использованием данных в этом поле. Операнды в expr могут включать имя поля таблицы, константы или функции (которые могут быть встроенными или определяемыми пользователем, но не одной из других агрегатных функций SQL).

Замечания

Функция Sum суммирует значения в поле. Например, можно использовать функцию Sum для определения общей стоимости расходов на доставку.

Функция Sum игнорирует записи, содержащие поля NULL . В следующем примере показано, как вычислить сумму продуктов полей UnitPrice и Quantity.

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

Используйте функцию Sum в выражении запроса. Это выражение также можно использовать в свойстве SQL объекта QueryDef или при создании набора записей на основе SQL-запроса.

Пример

В этом примере таблица Orders используется для расчета общего объема продаж заказов, отправляемых в Соединенное Королевство.

В этом примере вызывается процедура EnumFields, которую можно найти в примере инструкции 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

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.