Sum, fonction (Microsoft Access SQL)

S’applique à : Access 2013 | Access 2016

Renvoie la somme d'une série de valeurs contenues dans un champ spécifié dans une requête.

Syntaxe

Sum(expr)

La marque de réservation expr représente une expression chaîne qui identifie le champ contenant les données numériques à évaluer ou une expression qui effectue un calcul à l'aide des données de ce champ. Les opérandes d'expr peuvent inclure le nom d'un champ de table, une constante ou une fonction (qui peut être soit intrinsèque, soit définie par l'utilisateur, mais pas une des autres fonctions d'agrégation SQL).

Remarques

La fonction Sum additionne les valeurs contenues dans un champ. Par exemple, vous pouvez utiliser la fonction Sum pour déterminer le coût total des frais de port.

La fonction Sum ignore les enregistrements contenant des champs Null. L'exemple suivant montre comment calculer la somme des produits contenus dans les champs UnitPrice et Quantity :

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

Utilisez la fonction Sum dans une expression de requête. Vous pouvez également utiliser cette expression dans la propriété SQL d'un objet QueryDef ou lorsque vous créez un objet Recordset basé sur une requête SQL.

Exemple

Dans cet exemple, la table Orders est utilisée pour calculer le total des ventes pour les commandes expédiées au Royaume-Uni.

Cet exemple appelle la procédure EnumFields, que vous trouverez dans l’exemple d’instruction 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

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.