Compartir a través de


Función Sum (Microsoft Access SQL)

Se aplica a: Access 2013 | Access 2016

Devuelve la suma de un conjunto de valores contenidos en un campo especificado de una consulta.

Sintaxis

Sum(expr)

El marcador expresión representa una expresión de cadena que identifica el campo que contiene los datos numéricos que desea sumar o una expresión que realiza un cálculo con los datos de ese campo. Los operandos de expresión pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o definida por el usuario, pero no una de las otras funciones de agregado de SQL).

Comentarios

La función Sum proporciona el total de los valores de un campo. Por ejemplo, puede usar la función Sum para determinar el costo total de los gastos de transporte.

La función Sum omite los registros que contienen campos Null. En el siguiente ejemplo, se muestra cómo puede calcular la suma de los productos de los campos UnitPrice y Quantity:

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

Use la función Sum en una expresión de consulta. También puede usar esta expresión en la propiedad SQL de un objeto QueryDef o al crear un objeto Recordset basado en una consulta SQL.

Ejemplo:

En este ejemplo, se utiliza la tabla Orders para calcular las ventas totales para los pedidos enviados al Reino Unido.

En este ejemplo, se llama al procedimiento EnumFields, que se incluye en el ejemplo de la instrucción 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

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.