Fonction Count (Microsoft Access SQL)

S’applique à : Access 2013 | Access 2016

Calcule le nombre d'enregistrements renvoyés par une requête.

Syntaxe

Count(expr)

L'espace réservé expr représente une expression chaîne identifiant le champ qui contient les données que vous voulez compter ou une expression qui effectue un calcul à partir des données dans le champ. Les opérandes dans expr peuvent inclure le nom d'un champ de table ou une fonction (qui peut être intrinsèque ou définie par l'utilisateur mais pas un autre fonction d'agrégation SQL). Vous pouvez compter tous les types de données, y compris du texte.

Remarques

Utilisez Count pour compter le nombre d’enregistrements dans une requête sous-jacente. Par exemple, vous pouvez utiliser Count pour compter le nombre de commandes expédiées dans un pays ou une région spécifique.

Bien qu’expr puisse effectuer un calcul sur un champ, Count calcule simplement le nombre d’enregistrements. Les valeurs stockées dans les enregistrements n’ont pas d’importance.

La fonction Count ne compte pas les enregistrements qui comportent des champs Null sauf si le caractère générique utilisé pour expr est l'astérisque (*). Si vous utilisez un astérisque, Count calcule le nombre total d'enregistrements, y compris ceux contenant des champs Null. Count( * ) est considérablement plus rapide que Count( [ Column Name ] ). Ne placez pas l'astérisque entre guillemets (' ').

Dans l'exemple suivant, le nombre d'enregistrements dans la table Orders est calculé :

SELECT Count(*) 
AS TotalOrders FROM Orders;

Si expr identifie plusieurs champs, la fonction Count ne prend en compte un enregistrement que si au moins un de ses champs est non Null. Si tous les champs spécifiés sont Null, l'enregistrement n'est pas pris en compte. Séparez les noms des champs par le signe (&). L'exemple suivant montre comment vous pouvez limiter le compte aux enregistrements dans lesquels ShippedDate ou Freight est non Null:

SELECT 
Count('ShippedDate & Freight') 
AS [Not Null] FROM Orders;

Utilisez Count dans une expression de requête. Vous pouvez également utiliser cette expression dans une 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 nombre de commandes expédiées au Royaume-Uni.

Cet exemple appelle la procédure EnumFields, que vous trouverez dans l’exemple d’instruction SELECT.

Sub CountX() 
 
    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 number of orders shipped  
    ' to the United Kingdom. 
    Set rst = dbs.OpenRecordset("SELECT" _ 
        & " Count (ShipCountry)" _ 
        & " AS [UK Orders] FROM Orders" _ 
        & " 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, 25 
 
    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.