Vous pouvez utiliser la fonction Compte pour déterminer le nombre d’enregistrements d’un jeu d’enregistrements spécifié (une domaine ). Utilisez la fonctionCount dans un module Visual Basic pour Applications (VBA), une macro, une expression de requête ou une contrôle calculé.

Par exemple, vous pouvez utiliser la fonction Compte dans un module pour renvoyer le nombre d’enregistrements d’une table Commandes correspondant aux commandes passées à une date particulière.

Syntaxe

DCount ( expr, domain [ ,criteria] )

La syntaxe de la fonction Compte compte compte compte les arguments suivantes :

Argument

Description

expr

Obligatoire. Expression qui identifie le champ pour lequel vous souhaitez compter les enregistrements. Il peut s' expression de chaîne d’identifier un champ dans une table ou une requête, ou il peut s’agit d’une expression qui effectue un calcul sur les données de ce champ. Dans Expr,vous pouvez inclure le nom d’un champ dans une table, un contrôle dans un formulaire, une constante ou une fonction. Si expr inclut une fonction, elle peut être intégrée ou définie par l’utilisateur, mais pas une autre agrégation de domaine ou SQL fonction d’agrégation.

domaine

Obligatoire. Expression de chaîne identifiant l’ensemble d’enregistrements qui constitue le domaine. Il peut s’agit d’un nom de table ou de requête pour une requête qui ne nécessite pas de paramètre.

critère

Facultatif. Expression de chaîne utilisée pour limiter la plage de données sur laquelle la fonction Compte est exécutée. Par exemple, les critères sont souvent équivalents à la clause WHERE dans une expression SQL, sans le mot WHERE. Si critère est omis, la fonction DCount évalue expr par rapport au domaine entier. Tout champ inclus dans les critères doit également être un champ dans le domaine; sinon, la fonction DCount renvoie la valeur Null.

Remarques

Utilisez la fonction DCount pour compter le nombre d’enregistrements dans un domaine lorsque vous n’avez pas besoin de connaître leurs valeurs particulières. Bien que l’argument expr puisse effectuer un calcul sur un champ, la fonction Compte écompte simplement le nombre d’enregistrements. La valeur des calculs effectués par Expr n’est pas disponible.

Utilisez la fonction Compte dans un contrôle calculé lorsque vous devez spécifier des critères pour limiter la plage de données sur laquelle la fonction est exécutée. Par exemple, pour afficher le nombre de commandes à expédier en Californie, définissez la propriété ControlSource d’une zone de texte sur l’expression suivante :

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Si vous voulez simplement compter tous les enregistrements dans un domaine sans spécifier de restrictions, utilisez la fonction Compte.

Conseil La fonction Compte a été optimisée pour accélérer le décompte des enregistrements dans les requêtes. Utilisez la fonction Compte dans une expression de requête à la place de la fonction Compte et définissez des critères facultatifs pour appliquer des restrictions aux résultats. Utilisez la fonction Compte lorsque vous devez compter les enregistrements d’un domaine à partir d’un module de code ou d’une macro, ou dans un contrôle calculé.

Vous pouvez utiliser la fonction Compte pour compter le nombre d’enregistrements contenant un champ particulier ne se s’y rapportant pas dans la source d’enregistrement sur laquelle votre formulaire ou état est basé. Par exemple, vous pouvez afficher le nombre de commandes dans la table Commandes dans un contrôle calculé basé sur la table Produits.

La fonctionCount ne compte pas les enregistrements qui contiennent des valeurs Null dans le champ référencé par expr, sauf si expr est le caractère générique astérisque (*). Si vous utilisez un astérisque, la fonction DCount calcule le nombre total d’enregistrements, y compris ceux qui contiennent des champs Null. L’exemple suivant calcule le nombre d’enregistrements dans une table Commandes.

intX = DCount("*", "Orders")

Si le domaine est une table avec un clé primaire, vous pouvez également compter le nombre total d’enregistrements en setting expr to the primary key field (expr to the primary key field), car il n’y aura jamais de valeur Null dans le champ de clé primaire.

Si Expr identifie plusieurs champs, séparez les noms des champs avec un opérateur de concatenation, soit une et une (&), soit l’opérateur d’ajout (+). Si vous utilisez une et une et plusieurs pour séparer les champs, la fonction Compte renvoie le nombre d’enregistrements contenant des données dans l’un des champs répertoriés. Si vous utilisez l’opérateur d’ajout, la fonction DCount renvoie uniquement le nombre d’enregistrements contenant des données dans tous les champs répertoriés. L’exemple suivant illustre les effets de chaque opérateur en cas d’utilisation avec un champ qui contient des données dans tous les enregistrements (Nom_Expédition) et un champ qui ne contient aucune donnée (RégionRégion).

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

Remarque :  L’etande est l’opérateur préféré pour effectuer une concatenation de chaîne. Vous devez éviter d’utiliser l’opérateur d’ajout pour autre chose que l’addition numérique, sauf si vous souhaitez spécifiquement propager les valeurs Null dans une expression.

Les modifications apportées sans enregistrement à des enregistrements dans un domaine ne sont pas incluses lorsque vous utilisez cette fonction. Si vous souhaitez que la fonction Compte soit basée sur les valeurs modifiées, vous devez tout d’abord enregistrer les modifications en cliquant sur Enregistrer l’enregistrement sous Enregistrements sous l’onglet Données, en déplaçant le focus vers un autre enregistrement ou en utilisant la méthode Update.

Exemples de requête

Expression

Résultats

SELECT DCount(« ProductID »,"ProductSales »,"Discount=0 ») AS Expr1 FROM ProductSales GROUP BY DCount(« ProductID »,"ProductSales »,"Discount=0 »);

Renvoie le nombre de valeurs dans le champ « ProductID » de la table « ProductSales » lorsque la valeur « Discount » est « 0 ».

SELECT DCount(« ProductID »,"ProductSales »,"DateofSale=Date()-1 ») AS YesterdaySale FROM ProductSales GROUP BY DCount(« ProductID »,"ProductSales »,"DateofSale=Date()-1 »);

Renvoie le nombre de valeurs dans le champ « ProductID » de la table « ProductSales » où « DateofSale » est un jour avant la date actuelle.

Exemple de VBA

Remarque : Les exemples qui suivent illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’travail avec VBA, sélectionnez Référence du développeur dans la liste de listes en regard de Rechercher, puis entrez un ou plusieurs termes dans la zone de recherche.

La fonction suivante renvoie le nombre de commandes expédiées à un pays/une région spécifiés après une date d’expédition spécifiée. Le domaine est une table Commandes.

Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

Pour appeler la fonction, utilisez la ligne de code suivante dans la fenêtre Immédiate :

:OrdersCount "UK", #1/1/96#

Besoin d’aide ?

Développez vos compétences

Découvrez des formations >

Accédez aux nouvelles fonctionnalités en avant-première

Rejoindre Microsoft Insider >

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×