DVar, DVarP, fonctions

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

Vous pouvez utiliser les fonctions DVar et DVarP pour estimer la variance d’un jeu de valeurs d’un ensemble d’enregistrements spécifié (un domaine). Utilisez les fonctions DVar et DVarP dans un module Visual Basic pour Applications (VBA), une macro, une expression de requête ou un contrôle calculé d’un formulaire ou état.

Utilisez la fonction DVarP pour évaluer la variance au sein d’une population et la fonction DVar pour évaluer la variance au sein d’un échantillon de population.

Par exemple, vous pouvez utiliser la fonction DVar pour calculer la variance entre un ensemble de résultats de test d’étudiants.

Syntaxe

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

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

Les fonctions DVar et DVarP présentent les arguments suivants :

Argument Description
expr Obligatoire. Une expression qui identifie le champ numérique sur lequel vous souhaitez trouver la variance. Il peut s’agir d’une expression de chaîne identifiant un champ provenant d’une table ou d’une requête, ou d’une expression qui effectue un calcul sur les données de ce champ. Dans expr, vous pouvez inclure le champ Nom 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. Tout champ inclus dans expr doit être un champ numérique.
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 DVar ou DVarP 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, les fonctions DVar et DVarP évaluentexpr par rapport à l’ensemble du domaine. Tout champ inclus dans les critères doit également être un champ dans le domaine ; sinon, les fonctions DVar et DVarP renvoient la valeur Null.

Remarques

Si le domaine fait référence à moins de deux enregistrements ou si moins de deux enregistrements répondent aux critères, les fonctions DVar et DVarP renvoient une valeur Null, indiquant qu’une variance ne peut pas être calculée.

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

Vous pouvez utiliser les fonctions DVar et DVarP pour spécifier des critères dans la ligne Critères d’une requête de sélection, dans une expression de champ calculé d’une requête ou dans la ligne Mettre à jour vers d’une requête de mise à jour.

Remarque

Vous pouvez utiliser les fonctions DVar et DVarP ou les fonctions Var et VarP dans une expression de champ calculé dans une requête Opérations. Si vous utilisez la fonction DVar ou DVarP , les valeurs sont calculées avant le regroupement des données. Si vous utilisez la fonction Var ou VarP , les données sont regroupées avant l’évaluation des valeurs figurant dans l’expression de champ.

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

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

Si vous voulez simplement trouver l’écart type pour tous les enregistrements du domaine, utilisez la fonction Var ou VarP .

Remarque

Les modifications apportées aux enregistrements du domaine ne sont pas incluses lorsque vous utilisez ces fonctions. Si vous souhaitez que la fonction DVar ou DVarP 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 de requête

Expression Résultats
SELECT DVar(« unitprice »,"productSales »,"unitprice>140 ») AS DVar_Value, DVarP(« unitprice »,"productSales »,"unitprice<140 ») AS DVarP_Value FROM productSales GROUP BY DVar(« unitprice »,"productSales »,"unitprice>140 »), DVarP(« unitprice »,"productSales »,"unitprice<140 ») ; Calcule l’écart de « PrixUnitaire » à partir de la table « VentesProduits » où « prixunitaire » est supérieur à 140 et affiche le résultat en DVar_Value. Calcule également la variance de « PrixUnitaire » (en considérant les données données comme la population entière) où « PrixUnitaire » est inférieur à 140 et affiche les résultats en DVarP_Value.

Exemples VBA

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.

L’exemple suivant renvoie des estimations de variance pour une population et un échantillon de population pour les commandes expédiées au Royaume-Uni. Le domaine est une table Commandes. L’argument critère limite l’ensemble d’enregistrements résultant à ceux pour lesquels ShipCountryRegion est égal à UK.

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

L’exemple suivant renvoie des estimations à l’aide d’une variable, strCountryRegion, dans l’argument critères . Notez que les guillemets simples (') sont inclus dans l’expression de chaîne, de sorte que lorsque les chaînes sont concaténées, le littéral UK de chaîne est placé entre guillemets simples.

Dim strCountryRegion As String
Dim dblX As Double
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = '" & strCountryRegion & "'")