Share via


Méthode Application.DAvg (Access)

Utilisez la fonction DAvg pour calculer la moyenne d’un jeu de valeurs dans un jeu d’enregistrements spécifié (un domaine).

Syntaxe

expression. DAvg (Expr, Domaine, Critères)

expressionUne variable qui représente un objetApplication.

Paramètres

Nom Requis/Facultatif Type de données Description
Expr Obligatoire String Expression qui identifie le champ contenant les données numériques que vous souhaitez moyenner. 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 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 fonction d’agrégation de domaine ou SQL.
Domaine Obligatoire Chaîne Expression chaîne identifiant les enregistrements qui constituent 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 chaîne facultative servant à limiter la plage des données sur laquelle porte la fonction DAvg. Par exemple, Criteria est souvent équivalent à la clause WHERE dans une expression SQL, sans le mot WHERE. Si Criteria est omis , la fonction DAvg évalue Expr par rapport à l’ensemble du domaine. Tout champ inclus dans Critères doit également être un champ dans Domaine ; sinon, la fonction DAvg retourne une valeur Null.

Valeur renvoyée

Variant

Remarques

Par exemple, utilisez la fonction DAvg dans la ligne Critères d'une requête de sélection relative au coût du port, de manière à limiter les résultats aux enregistrements pour lesquels les frais de port sont supérieurs à la moyenne. Vous pouvez utiliser aussi une expression incluant la fonction DAvg dans un contrôle calculé pour afficher la valeur moyenne des commandes précédentes à côté de la valeur d'une nouvelle commande.

Les enregistrements incluant des valeurs Null n'entrent pas dans le calcul de la moyenne.

Que vous utilisiez la fonction DAvg dans une macro ou un module, dans une expression de requête ou dans un contrôle calculé, vous devez construire l’argument Critères avec soin pour vous assurer qu’il sera évalué correctement.

Utilisez la fonction DAvg pour spécifier des critères dans la ligne Critères d’une requête. Supposez, par exemple, que vous souhaitez afficher la liste de tous les produits commandés en quantité supérieure à la quantité moyenne de commande. Vous pouvez créer une requête sur les tables Commandes, Détails de la commande et Produits, et inclure les champs Nom du produit et Quantité , avec l’expression suivante dans la ligne Critères sous le champ Quantité :

>DAvg("[Quantity]", "Orders")

Vous pouvez également utiliser la fonction DAvg dans une expression de champ calculé dans une requête ou dans la ligne Mettre à jour vers d’une requête de mise à jour.

Remarque

Utilisez la fonction DAvg ou Avg dans une expression de champ calculé dans une requête de totaux. Avec la fonction DAvg, la moyenne des valeurs est calculée avant le regroupement des données. Avec la fonction Avg, les données sont regroupées avant que la moyenne des valeurs incluses dans l'expression de champ soit calculée.

Utilisez la fonction DAvg 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 DAvg. Par exemple, pour afficher le coût moyen du port pour les livraisons vers la Californie, affectez l'expression suivante à la propriété ControlSource d'une zone de texte :

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Si vous souhaitez simplement calculer la moyenne de tous les enregistrements dans Domaine, utilisez la fonction Avg .

Utilisez la fonction DAvg dans un module ou une macro ou dans un contrôle calculé sur un formulaire si un champ que vous devez afficher ne se trouve pas dans la source d’enregistrement sur laquelle votre formulaire est basé. Par exemple, supposons que vous disposez d’un formulaire basé sur la table Commandes et que vous souhaitez inclure le champ Quantité de la table Détails de la commande pour afficher le nombre moyen d’articles commandés par un client particulier. Utilisez la fonction DAvg pour effectuer ce calcul et afficher les données sur votre formulaire.

Conseil

  • En utilisant la fonction DAvg dans un contrôle calculé, il se peut que vous vouliez placer celui-ci dans l'en-tête ou le pied de page du formulaire, de sorte que la valeur relative à ce contrôle ne soit pas recalculée chaque fois que vous passez à un nouvel enregistrement.
  • Si le type de données du champ dont Expr est dérivé est un nombre, la fonction DAvg renvoie un type de données Double . Si vous utilisez la fonction DAvg dans un contrôle calculé, insérez une fonction de conversion de type de données dans l'expression pour en améliorer les performances.
  • Même si la fonction DAvg vous permet de déterminer la moyenne des valeurs d'un champ de table externe, il peut s'avérer plus efficace de créer une requête comprenant tous les champs nécessaires, et d'utiliser celle-ci comme base de votre formulaire ou état.

Exemple

La fonction suivante renvoie les frais de transport moyens pour les commandes expédiées à ou après une certaine date. Le domaine consiste en la table Commandes. L’argument Critères limite le jeu d’enregistrements résultant en fonction du pays et de la date d’expédition donnés. Notez que le mot clé AND est inclus dans la chaîne pour séparer les plusieurs champs de l’argument Critères . Tous les enregistrements qui entrent dans le calcul de la fonction DAvg devront respecter ces deux critères.

Public Function AvgFreightCost(ByVal strCountry As String, _ 
                               ByVal dteShipDate As Date) As Double 
 
    AvgFreightCost = DAvg("[Freight]", "Orders", _ 
                     "[ShipCountry] = '" & strCountry & _ 
                     "'AND [ShippedDate] >= #" & dteShipDate & "#") 
 
End Function

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

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

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

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

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

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

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

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DAvg("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DAvg("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DAvg("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DAvg("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.