DAvg, fonction

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Par exemple, vous pouvez utiliser la fonction MoyDom dans la ligne de critère d’une requête de sélection de frais de transport pour limiter les résultats aux enregistrements où le coût de transport dépasse la moyenne. Vous pouvez également utiliser une expression incluant la fonction MoyDom dans un contrôle calculé et afficher la valeur moyenne des commandes précédentes à côté de la valeur d’une nouvelle commande.

Syntaxe

DAvg(expr, domaine [, critères] )

La syntaxe de la fonction MoyDom contient les arguments suivants :

Argument Description
expr Obligatoire. Expression qui identifie le champ contenant les données numériques dont vous souhaitez calculer la moyenne. Il peut s’agir d’une expression de 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 d’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. Expression de chaîne identifiant l’ensemble d’enregistrements qui constitue le domaine. Il peut s’agir d’un nom de table ou d’un nom de requête pour une requête qui ne nécessite pas de paramètre.
critères Facultatif. Expression de chaîne utilisée pour restreindre la plage de données sur laquelle la fonction MoyDom est exécutée. Par exemple, criteria est souvent équivalent à la clause WHERE dans une expression SQL, sans le mot WHERE. Si des critères sont omis, la fonction MoyDom évalue expr par rapport à l’ensemble du domaine. Tout champ inclus dans les critères doit également être un champ dans le domaine ; sinon, la fonction MoyDom renvoie la valeur Null.

    

Remarques

Les enregistrements contenant des valeurs Null ne sont pas inclus dans le calcul de la moyenne.

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

Vous pouvez utiliser la fonction MoyDom pour spécifier des critères dans la ligne Critères d’une requête. Par exemple, supposons que vous souhaitiez afficher la liste de tous les produits commandés dans des quantités qui dépassent la quantité de commandes moyenne. Vous pouvez créer une requête dans 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 MoyDom dans une expression de champ calculé d’une requête ou dans la ligne Mettre à jour vers d’une requête Mise à jour.

Remarque

Vous pouvez utiliser la fonction MoyDom ou Moyenne dans une expression de champ calculé dans une requête Opérations. Si vous utilisez la fonction MoyDom , la moyenne des valeurs est calculée avant le regroupement des données. Si vous utilisez la fonction Moyenne , les données sont regroupées avant l’calcul de la moyenne des valeurs figurant dans l’expression de champ.

Utilisez la fonction MoyDom dans un contrôle calculé lorsque vous devez spécifier des critères pour restreindre la plage de données sur laquelle la fonction MoyDom est exécutée. Par exemple, pour afficher le coût moyen de transport pour les expéditions à destination de la Californie, définissez la propriété SourceContrôle d’une zone de texte sur l’expression suivante :

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

Si vous voulez simplement calculer la moyenne de tous les enregistrements du domaine, utilisez la fonction Moyenne .

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

Conseils

  • Si vous utilisez la fonction MoyDom dans un contrôle calculé, vous pouvez placer le contrôle dans l’en-tête ou le pied de page du formulaire afin que la valeur de ce contrôle ne soit pas recalculée chaque fois que vous passez à un nouvel enregistrement.
  • Si le type de données du champ à partir duquel expr est dérivé est un nombre, la fonction MoyDom renvoie un type de données Double. Si vous utilisez la fonction MoyDom dans un contrôle calculé, incluez une fonction de conversion de type de données dans l’expression pour améliorer les performances.
  • Il est possible d’utiliser la fonction MoyDom pour déterminer la moyenne des valeurs d’un champ d’une table étrangère, mais il peut être plus efficace de créer une requête contenant tous les champs dont vous avez besoin, puis de baser votre formulaire ou état sur cette requête.

Remarque

Les modifications non enregistrées apportées aux enregistrements du domaine ne sont pas incluses lorsque vous utilisez cette fonction. Si vous souhaitez que la fonction MoyDom soit basée sur les valeurs modifiées, vous devez d’abord enregistrer les modifications en cliquant sur Enregistrer l’enregistrement sous Enregistrements sous l’onglet Données , en déplaçant le focus sur un autre enregistrement ou en utilisant la méthode Mise à jour .

Exemple

Remarque

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

La fonction suivante renvoie le coût de transport moyen pour les commandes expédiées à partir d’une date donnée. Le domaine est une table Commandes. L’argument critère limite l’ensemble d’enregistrements résultant en fonction du pays/de la région 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 multiples champs de l’argument critère. Tous les enregistrements inclus dans le calcul de la fonction MoyDom auront ces deux critères.

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

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

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