Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment faire pour créer un total cumulé dans Access 2000

Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Utilisateurs confirmés : exige de très bonnes compétences en programmation, en interopérabilité et dans le domaine multi-utilisateur.

Cet article s'applique uniquement aux bases de données Microsoft Access (.mdb).

Pour vous procurer une version Microsoft Access 97, reportez-vous à l'article 138911.
Pour vous procurer une version Microsoft Access 2002 et Access 2003 de cet article, reportez-vous à l'article 290136.
Résumé
Cet article décrit deux méthodes que vous pouvez utiliser pour créer une requête de total cumulé. Une requête de total cumulé est une requête dans laquelle le total de chaque enregistrement est l'addition de cet enregistrement et de tous les enregistrements précédents. Ce type de requête est utile pour afficher des totaux cumulés sur un groupe d'enregistrements (ou pendant un certain laps de temps) dans un graphique ou un état.

REMARQUE : vous pouvez afficher une démonstration de la technique utilisée dans cet article dans l'exemple de fichier Qrysmp00.exe. Pour plus d'informations sur la façon d'obtenir cet exemple de fichier, consultez l'article suivant de la Base de connaissances Microsoft :
207626 Exemples de requêtes Access 2000 disponibles au Centre de téléchargement
Plus d'informations

Méthode 1

La première méthode utilise une fonction DSum() et des critères dans une requête afin de créer une somme cumulée avec le temps. La fonction DSum() additionne l'enregistrement actif et tous les enregistrements précédents. Lorsque la requête passe à l'enregistrement suivant, la fonction DSum() s'exécute de nouveau et met à jour le total cumulé.

L'exemple de requête suivant utilise le tableau Commandes de l'exemple de base de données Comptoir.mdb pour créer une somme cumulée des frais de transport pour chaque mois en 1997. Les exemples de données sont limités à une année pour des raisons de performances. La fonction DSum() s'exécutant une fois pour chaque enregistrement de la requête, son traitement peut prendre plusieurs secondes (selon la vitesse de votre ordinateur). Pour créer et exécuter cette requête, procédez comme suit :
  1. Ouvrez l'exemple de base de données Comptoir.mdb.
  2. Créez une requête Sélection et ajoutez le tableau Commandes.
  3. Dans le menu Affichage, cliquez sur Opérations.
  4. Dans la première colonne de la grille de création de requête, tapez l'expression suivante dans la zone Champ et effectuez les sélections suivantes pour les zones Opération, Tri et Afficher :
       Champ : AYear: DatePart("yyyy",[Date commande])   Opération : Regroupement   Tri : Croissant   Afficher : Oui						
    L'expression de la zone Champ affiche et trie la partie année du champ Date commande.
  5. Dans la deuxième colonne de la grille de création de requête, tapez l'expression suivante dans la zone Champ et effectuez les sélections suivantes pour les zones Total, Trier et Afficher :
       Champ : AMonth: DatePart("m",[Date commande])   Opération : Regroupement   Tri : Croissant   Afficher : Oui						
    L'expression de la zone Champ trie et affiche la partie mois du champ Date commande comme valeur entière comprise entre 1 et 12.
  6. Dans la troisième colonne de la grille de création de requête, tapez l'expression suivante dans la zone Champ et effectuez les sélections suivantes pour les zones Opération et Afficher.

    REMARQUE : dans l'exemple suivant, un caractère de soulignement (_) est utilisé en fin de ligne pour indiquer que l'instruction continue à la ligne suivante. Supprimez le trait de soulignement de fin de ligne lorsque vous recréez cet exemple.
       Champ : RunTot: DSum("Port","Commandes","DatePart('m', _          [Date commande])<=" & [AMonth] & " And  DatePart('yyyy', _          [Date commande])<=" & [AYear] & "")   Opération : Expression   Afficher : Oui						
    L'expression de la zone Champ utilise la fonction DSum() pour additionner le champ Port lorsque les valeurs des champs AMonth et AYear sont inférieures ou égales à l'enregistrement actif traité par la requête.
  7. Dans la quatrième colonne de la grille de création de requête, tapez l'expression suivante dans la zone Champ et effectuez les sélections suivantes pour les zones Opération, Tri et Afficher :
       Champ : FDate: Format([Date envoi],"mmm")   Opération : Regroupement   Tri : Croissant   Afficher : Oui						
    L'expression de la zone Champ affiche chaque mois dans un format textuel, tel que Jan, Fév, Mar, et ainsi de suite.
  8. Dans la cinquième colonne de la grille de création de requête, tapez l'expression suivante dans la zone Champ et effectuez les sélections suivantes pour les zones Opération, Critères et Afficher :
       Champ : DatePart("yyyy",[Date commande])   Opération : Où   Critères : 1997   Afficher : Non						
    L'expression de la zone Champ filtre le jeu d'enregistrements de la requête de façon à inclure uniquement les données de 1997.
  9. Exécutez la requête. Notez que le champ RunTot affiche les enregistrements suivants avec un cumul :
       AYear    AMonth     RunTot       FDate   --------------------------------------   1997     1          2238.98      Jan   1997     2          3840.43      Fév   1997     3          5729.24      Mar   1997     4          8668.34      Avr   1997     5          12129.74     Mai   1997     6          13982.39     Jun   1997     7          17729.29     Jui   1997     8          22204.73     Aou   1997     9          26565.26     Sep   1997     10         32031.38     Oct   1997     11         36192.09     Nov   1997     12         42748.64     Déc					

Méthode 2

La deuxième méthode utilise une requête de totaux avec une fonction DSum() pour créer un total cumulé sur un groupe.

L'exemple de requête suivant utilise le tableau Commandes pour additionner les frais de transport par employé ainsi que pour calculer un cumul des frais de transport. Pour créer et exécuter cette requête, procédez comme suit :
  1. Ouvrez l'exemple de base de données Comptoir.mdb.
  2. Créez une requête Sélection et ajoutez le tableau Commandes.
  3. Dans le menu Affichage, cliquez sur Opérations.
  4. Dans la première colonne de la grille de création de requête, ajoutez le champ suivant à la zone Champ et effectuez les sélections suivantes pour les zones Opération et Afficher :
       Champ : EmpAlias: RéfEmployé   Opération : Regroupement   Afficher : Oui						
    Ce champ groupe les données par RéfEmployé.
  5. Dans la deuxième colonne de la grille de création de requête, ajoutez le champ suivant à la zone Champ et effectuez les sélections suivantes pour les zones Opération et Afficher :
       Champ : Port   Opération : Somme   Afficher : Oui						
    Ce champ additionne les données de port.
  6. Dans la troisième colonne de la grille de création de requête, tapez l'expression suivante dans la zone Champ et effectuez les sélections suivantes pour les zones Opération et Afficher.

    REMARQUE : dans l'exemple suivant, un caractère de soulignement (_) est utilisé en fin de ligne pour indiquer que l'instruction continue à la ligne suivante. Supprimez le trait de soulignement de fin de ligne lorsque vous recréez cet exemple.
       Champ : RunTot: Format(DSum("Port","Commandes","[RéfEmployé]<=" _          & [EmpAlias] & ""),"$0,000.00")   Opération : Expression   Afficher : Oui						
    L'expression de la zone Champ utilise une fonction DSum() pour additionner le champ Port lorsque RéfEmployé est inférieur ou égal à l'EmpAlias actuel, puis met en forme le champ en dollars.
  7. Exécutez la requête. Notez que le champ RunTot affiche les enregistrements suivants avec un cumul :
       Employee              SumOfFreight     RunTot   -------------------------------------------------   Davolio, Nancy        $8,836.64        $8,836.64   Fuller, Andrew        $8,696.41        $17,533.05   Leverling,Janet       $10,884.74       $28,417.79   Peacock, Margaret     $11,346.14       $39,763.93   Buchanan, Steven      $3,918.71        $43,682.64   Suyama, Michael       $3,780.47        $47,463.11   King, Robert          $6,665.44        $54,128.55   Callahan, Laura       $7,487.88        $61,616.43   Dodsworth, Anne       $3,326.26        $64,942.69					
Références
Pour plus d'informations sur les requêtes de totaux, cliquez sur Aide sur Microsoft Access dans le menu ? (Aide), tapez effectuer des calculs dans une requête dans le Compagnon Office ou dans l'Aide intuitive, puis cliquez sur Rechercher pour afficher les rubriques correspondantes.
Qrysmp00 exe
Propriétés

ID d'article : 208714 - Dernière mise à jour : 12/05/2015 10:55:29 - Révision : 3.0

  • Microsoft Access 2000 Standard Edition
  • kbnosurvey kbarchive kbfunctions kbprogramming kbhowto KB208714
Commentaires