ACC : Création d'une requête analyse croisée avec plusieurs champs de valeur

Traductions disponibles Traductions disponibles
Numéro d'article: 109939 - Voir les produits auxquels s'applique cet article
Novice : Nécessite une connaissance de l'interface utilisateur sur les ordinateurs mono-utilisateur.

Agrandir tout | Réduire tout

Sommaire

Résumé

Dans une requête analyse croisée de Microsoft Access, vous pouvez spécifier qu'un seul champ ou calcul comme valeur. Souvent, vous souhaiterez peut-être afficher plus d'une valeur dans la requête.

Par exemple, l'exemple suivant affiche deux colonnes d'informations par société, le nombre de commandes, et l'ordre des totaux pour chaque année :
   Company Name  1989 Orders  1989 Total  1990 Orders  1990 Total
   --------------------------------------------------------------
   ABC Company   12           $855.00     15           $1010.25
   XYZ Company   1017         $22045.57   1050         $25345.29
				
ce type de requête est parfois appelé une requête de plusieurs champs de valeur.

Remarque : Un démonstration de la technique utilisée dans cet article peut être constaté dans le fichier d'exemple Qrysmp97.exe. Pour plus d'informations sur la façon d'obtenir cet exemple de fichier, consultez l'article suivant dans la base de connaissances Microsoft :
182568ACC97 : Microsoft Access 97 exemples de requêtes disponibles au centre de téléchargement

Plus d'informations

Pour créer une requête analyse croisée de plusieurs champs de valeur, vous devez créer deux requêtes Analyse croisée distinct avec des en-têtes de colonne fixe pour chaque valeur que vous souhaitez calculer. Ces deux requêtes peuvent être joints, à l'aide d'une requête SELECT pour afficher les résultats souhaités.

L'exemple suivant utilise la base de données Comptoir.mdb dans Microsoft Access version 7.0 et Microsoft Access 97 (ou NWIND.mdb dans les versions 2.0 ou antérieures) pour créer une requête qui affiche des résultats semblables à l'exemple ci-dessus, affichant le nombre de ventes et de total pour chaque année pour chaque société.

Étape 1: Créer la requête analyse croisée total commandes

Pour créer la requête analyse croisée total commandes, procédez comme suit :
  1. Ouvrez la base de données exemple Comptoir.mdb (ou NWIND.mdb dans la version 2.0 ou antérieure) et créez la requête analyse croisée suivante basée sur les commandes, Détails commandes et les tables Customers.
          Query: Order Total
          ------------------
          Type: Crosstab Query
          Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    
          NOTE: In versions 1.x and 2.0, there is a space in Customer ID.
    
          Join: Orders.[OrderID] <-> Order Details.[OrderID]
    
          NOTE: In versions 1.x and 2.0, there is a space in Order ID.
    
          Field: CompanyName
             Table Name: Customers
             Total: Group By
             Crosstab: Row Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Company Name.
    
          Field: Expr1: Year([OrderDate]) & " " & "Order Total"
             Table Name:
             Total: Group By
             Crosstab: Column Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Order Date.
    
          Field: Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1.-[Discount])))
             Table Name:
             Total: Expression
             Crosstab: Value
    
          NOTE: In versions 1.x and 2.0, there is a space in Unit Price.
    					
  2. Sélectionnez la requête en cliquant sur n'importe où dans la zone grise dans la moitié supérieure de la grille de requête. Cliquez sur Propriétés de la requête dans le menu Affichage, activez la case à cocher en-têtes de colonnes fixes et dans la zone des en-têtes de colonnes, tapez les entrées correspondant à votre version de Microsoft Access :
          Version 1.x:      "1989 Order Total";"1990 Order Total";"1991 Order
                            Total";"1992 Order Total"
    
          Version 2.0:      "1991 Order Total";"1992 Order Total";"1993 Order
                            Total";"1994 Order Total"
    
          Version 7.0:      "1993 Order Total";"1994 Order Total";"1995 Order
                            Total"
    
          Version 97:       "1994 Order Total";"1995 Order Total";"1996 Order
                            Total"
    					
Remarque : Dans Microsoft Access versions 2.0, 7.0 et 97, la propriété FixedColumnHeadings appellent les en-têtes de colonnes.

Étape 2: Créer la requête analyse croisée Nombre commandes

  1. Créez la requête analyse croisée suivante basée sur les commandes et les tables Customers :
          Query: Order Count
          ------------------
          Type: Crosstab Query
          Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    
          NOTE: In versions 1.x and 2.0, there is a space in Customer ID.
    
          Field: CompanyName
             Table Name: Customers
             Total:      Group By
             Crosstab:   Row Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Company Name.
    
          Field: Expr1: Year([OrderDate]) & " " & "Order Count"
             Table Name:
             Total: Group By
             Crosstab: Column Heading
    
          NOTE: In versions 1.x and 2.0, there is a space in Order Date.
    
          Field: OrderID
             Table Name: Orders
             Total:      Count
             Crosstab:   Value
    
          NOTE: In versions 1.x and 2.0, there is a space in Order ID.
    					
  2. Sélectionnez la requête en cliquant sur n'importe où dans la zone grise dans la moitié supérieure de la grille de requête. Cliquez sur Propriétés de la requête dans le menu Affichage, activez la case à cocher en-têtes de colonnes fixes et dans la zone des en-têtes de colonnes, tapez les entrées correspondant à votre version de Microsoft Access :
          Version 1.x:      "1989 Order Count";"1990 Order Count";"1991 Order
                            Count";"1992 Order Count"
    
          Version 2.0:      "1991 Order Count";"1992 Order Count";"1993 Order
                            Count";"1994 Order Count"
    
          Version 7.0:      "1993 Order Count";"1994 Order Count";"1995 Order
                            Count"
    
          Version 97:       "1994 Order Count";"1995 Order Count";"1996 Order
                            Count"
    					
Remarque : Dans Microsoft Access versions 2.0, 7.0, 97, la propriété FixedColumnHeadings appellent les en-têtes de colonnes.

Étape 3: Créer la requête de plusieurs valeurs

  1. Créer une requête sélection basée sur le total de commandes et Nombre commandes de requêtes Analyse croisée. Vous allez utiliser CompanyName, ainsi que les champs Total commandes et Nombre commandes pour les années dont vous souhaitez afficher les résultats. L'exemple ci-dessous utilise ces deux dernières années de total commandes et Nombre commandes dans Microsoft Access 97.
          Query: Multiple Values
          ----------------------
          Join: Order Total.[CompanyName] <-> Order Count.[CompanyName]
    
          NOTE: In versions 1.x and 2.0, there is a space in Company Name.
    
          Field: CompanyName
             Table Name: Order Count
             Show: Yes
          Field: 1995 Order Count
             Table Name: Order Count
             Show: Yes
          Field: 1995 Order Total
             Table Name: Order Total
             Show: Yes
          Field: 1996 Order Count
             Table Name: Order Count
             Show: Yes
          Field: 1996 Order Total
             Table Name: Order Total
             Show: Yes
    					
La requête de plusieurs valeurs en cours d'exécution résulte dans une table qui se présente comme suit :
 Company Name          1995 Order Count 1995 Order Total 1996 Order Count..
 --------------------------------------------------------------------------
 Alfred's Futterkiste  3                $2,022.50        3
 Ana Trujillo          2                  $799.75        1
 Antonio Moreno        5                $5,960.78        1
				

Remarque : Cette technique ne fonctionne pas si le champ spécifié pour la concaténation (One(expr1)) étape est un champ dans plusieurs des tables jointes dans la requête. Il n'existe aucun moyen pour forcer la requête pour accepter le nom de la table dans l'expression sans générer d'erreur réservé-1310. Si vous ajoutez le nom de la table à la ligne table, vous générez une erreur de syntaxe. Si vous abandonnez le nom de table complètement, vous générez un message d'erreur «la référence ambiguë».

Références

Pour plus d'informations sur les requêtes Analyse croisée, recherchez «requêtes Analyse croisée, création,» et ensuite "créer une requête analyse croisée sans l'aide d'un Assistant," à l'aide de l'index de l'aide de Microsoft Access 97.

Propriétés

Numéro d'article: 109939 - Dernière mise à jour: jeudi 18 janvier 2007 - Version: 2.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 1.0 Standard
  • Microsoft Access 1.1 Standard
  • Microsoft Access 2.0 Standard
  • Microsoft Access 95 Standard
  • Microsoft Access 97 Standard
Mots-clés : 
kbmt kbinfo KB109939 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 109939
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com