Méthode Application.DCount (Access)

Utilisez la fonction DCount pour déterminer le nombre d’enregistrements qui se trouvent dans un jeu d’enregistrements spécifié (un domaine).

Syntaxe

expression. DCount (Expr, Domain, Criteria)

expressionUne variable qui représente un objetApplication.

Paramètres

Nom Requis/Facultatif Type de données Description
Expr Obligatoire Chaîne Expression qui identifie le champ dont vous voulez compter les enregistrements. Il peut s'agir d'une expression chaîne identifiant un champ dans une table ou une requête, ou d'une expression qui effectue un calcul sur les données de ce champ. Dans expr, vous pouvez inclure le nom d'un champ de table, un contrôle de 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 fonction d’agrégation de domaine ou SQL.
Domaine Obligatoire String Expression de chaîne qui identifie le jeu d’enregistrements qui constitue le domaine. Il peut s'agir d'un nom de table ou d'un nom de requête qui ne requiert aucun paramètre.
Criteria Facultatif Variant Expression de chaîne facultative servant à limiter la plage des données sur laquelle porte la fonction DCount. Par exemple, criteria est souvent équivalent à la clause WHERE d'une expression SQL sans le mot WHERE. En cas d'omission de criteria, la fonction DCount évalue expr par rapport à l'intégralité du domaine. Tout champ inclus dans les critères doit également être un champ dans le domaine ; sinon, la fonction DCount retourne une valeur Null.

Valeur renvoyée

Variant

Remarques

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

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 DCount calcule simplement le nombre d’enregistrements. La valeur de tout calcul effectué par expr n’est pas disponible.

Utilisez la fonction DCount dans un contrôle calculé, lorsque vous devez déterminer des critères visant à limiter la plage des données sur laquelle porte la fonction. Par exemple, pour afficher le nombre de commandes qui doivent être livrées en Californie, affectez l’expression suivante à la propriété ControlSource d’une zone de texte :

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

Si vous souhaitez simplement compter tous les enregistrements dans le domaine sans spécifier de restrictions, utilisez la fonction Count . La fonction Count a été optimisée de manière à effectuer un calcul rapide des enregistrements dans les requêtes. Utilisez la fonction Count dans une expression de requête au lieu de la fonction DCount et spécifiez les éventuels critères pour imposer des restrictions sur les résultats.

Utilisez la fonction DCount pour compter les enregistrements d'un domaine à partir d'un module ou d'une macro de code, ou dans un contrôle calculé.

Utilisez la fonction DCount pour compter le nombre d’enregistrements contenant un champ particulier qui ne figure pas dans la source d’enregistrement sur laquelle votre formulaire ou état est basé. Vous pouvez, par exemple, afficher le nombre de commandes de la table Commandes dans un contrôle calculé d'un formulaire fondé sur la table Produits.

La fonction DCount 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 (*). Dans ce cas, 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 la table Commandes :

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

Si domaine est une table avec une clé primaire, vous pouvez également compter le nombre total d’enregistrements en définissant expr sur le champ de clé primaire, car il n’y aura jamais de Null dans le champ de clé primaire.

Si expr identifie plusieurs champs, séparez les noms de champs par un opérateur de concaténation, soit une esperluette (&) soit l’opérateur d’addition (+). If you use an ampersand to separate the fields, the DCount function returns the number of records containing data in any of the listed fields. If you use the addition operator, the DCount function returns only the number of records containing data in all of the listed fields. The following example demonstrates the effects of each operator when used with a field that contains data in all records (ShipName) and a field that contains no data (ShipRegion).

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

Remarque

& est l’opérateur préféré pour la concaténation de chaînes. Il est préférable d’utiliser l’opérateur d’addition uniquement pour les opérations numériques, sauf si vous voulez propager des valeurs de type Nulls dans une expression.

Exemple

La fonction suivante renvoie le nombre de commandes expédiées vers un pays ou une région déterminé après une date d'expédition spécifiée. Le domaine consiste en la table Commandes.

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

Les exemples suivants montrent comment utiliser différents types de critères avec la fonction DCount.

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DCount("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DCount("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DCount("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DCount("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DCount("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DCount("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DCount("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DCount("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DCount("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DCount("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

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.