Fonctions StDev, StDevP (Microsoft Access SQL)

S’applique à : Access 2013 | Access 2016

Renvoient des estimations d'écart type pour une population ou un échantillon de population représenté par une série de valeurs contenues dans un champ spécifié dans une requête.

Syntaxe

StDev(expr)

StDevP(expr)

L’espace réservé expr représente une expression de chaîne identifiant le champ qui contient les données numériques que vous souhaitez évaluer ou une expression qui effectue un calcul à l’aide des données de ce champ. Les opérandes dans expr peuvent inclure le nom d'un champ de table, une constante ou une fonction (qui peut être intrinsèque ou définie par l'utilisateur mais pas une autre fonction d'agrégation SQL).

Remarques

La fonction StDevP permet d'évaluer une population et la fonction StDev un échantillon de population.

Si la requête sous-jacente contient moins de deux enregistrements (ou aucun enregistrement dans le cas de la fonction StDevP ), ces fonctions renvoient une valeur Null (qui signifie que l'écart type ne peut pas être calculé).

Utilisez les fonctions StDev et StDevP dans une expression de requête. Vous pouvez également utiliser cette expression dans une propriété SQL d'un objet QueryDef ou lorsque vous créez un objet Recordset basé sur une requête SQL.

Exemple

Dans cet exemple, la table Orders évalue l'écart type entre les frais de port pour les commandes expédiées au Royaume-Uni.

Cet exemple appelle la procédure EnumFields, que vous trouverez dans l’exemple d’instruction SELECT.

Sub StDevX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Calculate the standard deviation of the freight 
    ' charges for orders shipped to the United Kingdom. 
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "StDev(Freight) " _ 
        & "AS [Freight Deviation] FROM Orders " _ 
        & "WHERE ShipCountry = 'UK';") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
     
    Debug.Print 
     
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "StDevP(Freight) " _ 
        & "AS [Freight DevP] FROM Orders " _ 
        & "WHERE ShipCountry = 'UK';") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
 
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
 
    dbs.Close 
 
End Sub 

Voir aussi

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.