Modéré : Nécessite des compétences de base en macro, codage et interopérabilité. Cet article ne s'applique qu'à une base de données Microsoft Access (.accdb et .mdb). Pour une version Microsoft Access 2000 de cet article, voir 209143.

Pour une version Microsoft Access 97 de cet article, voir 109939.

Résumé

Dans une requête Crosstab Microsoft Access, vous ne pouvez spécifier qu'un seul champ ou calcul comme valeur. Vous pouvez afficher plus d'une valeur dans la requête. L'exemple suivant montre deux colonnes d'informations par entreprise, un décompte du nombre de commandes et le total des commandes pour chaque année : Company Name 1998 Orders 1998 Total 1999 Orders 1999 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é requête multiple de champ de valeur.

Informations supplémentaires

Pour créer une requête crosstab de champ de valeur multiple, vous devez créer une requête crosstab distincte pour chaque valeur que vous souhaitez calculer. Vous pouvez ensuite utiliser une requête sélectionnée pour rejoindre ces requêtes crosstab pour afficher les résultats que vous souhaitez. L'exemple suivant utilise l'exemple de base de données Northwind.mdb pour créer une requête qui affiche des résultats similaires à l'exemple dans la section "Résumé" plus tôt dans cet article. Il indique le nombre de ventes et le total pour chaque année pour chaque entreprise.

  1. Ouvrez la base de données d'échantillons Northwind.mdb, puis créez la requête crosstab suivante qui est basée sur les commandes, les détails des commandes et les tables clients : Query: Order Total ------------------ Type: Crosstab Query Join: Customers.[CustomerID] <-> Orders.[CustomerID] Join: Orders.[OrderID] <-> Order Details.[OrderID] Field: CompanyName Table Name: Customers Total: Group By Crosstab: Row Heading Field: Expr1: Year([OrderDate]) & " " & "Order Total" Table Name: Total: Group By Crosstab: Column Heading Field: Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1-[Discount]))) Table Name: Total: Expression Crosstab: Value

  2. Enregistrer cette requête en tant que Total de l'Ordre.

  3. Créez la requête crosstab suivante basée sur les tableaux commandes et clients : Query: Order Count ------------------ Type: Crosstab Query Join: Customers.[CustomerID] <-> Orders.[CustomerID] Field: CompanyName Table Name: Customers Total: Group By Crosstab: Row Heading Field: Expr1: Year([OrderDate]) & " " & "Order Count" Table Name: Total: Group By Crosstab: Column Heading Field: OrderID Table Name: Orders Total: Count Crosstab: Value

  4. Enregistrer cette requête en tant que compte d'ordre.

  5. Créez une requête basée sur le total de l'ordre et les requêtes crosstab du compte d'ordre. Utilisez les champs CompanyName, Order Total et Order Count pour les années dont vous souhaitez afficher les résultats. L'exemple suivant utilise les deux dernières années de total de commandes et de nombre de commandes dans Microsoft Access. Query: Multiple Values ---------------------- Join: Order Total.[CompanyName] <-> Order Count.[CompanyName] Field: CompanyName Table Name: Order Count Field: 1997 Order Count Table Name: Order Count Field: 1997 Order Total Table Name: Order Total Field: 1998 Order Count Table Name: Order Count Field: 1998 Order Total Table Name: Order Total

  6. Lorsque vous exécutez la requête Multiple Values, vous verrez une table qui ressemble à la table suivante : 1997 Order 1997 Order 1998 Order 1998 Order Company Name Count Total Count Total -------------------------------------------------------------------- Alfred's Futterkiste 3 $2,022.50 3 $2,022.50 Ana Trujillo 2 $799.75 1 $514.10 Antonio Moreno 5 $5,960.78 1 $660.00 REMARQUE: Vous devez ajouter le nom de la table à l'expression si le champ spécifié pour la concatenation est un champ dans plus d'une des tables jointes à la requête. Par exemple, à l'étape 1, vous modifiez : Year([OrderDate]) & " " & "Order Total" À: Year([Orders].[OrderDate]) & " " & "Order Total" Si vous ajoutez le nom de la table à la ligne de table, vous générez une erreur de syntaxe. Si vous laissez complètement le nom de la table, vous générez une erreur de référence ambigu.

Références

Pour plus d'informations sur les requêtes crosstab, cliquez sur Microsoft Access Help sur le menu Aide, tapez les requêtes crosstab dans l'Assistant bureau ou l'Assistant de réponse, puis cliquez sur Recherche pour afficher les sujets retournés.

Besoin d’aide ?

Développez vos compétences

Découvrez des formations >

Accédez aux nouvelles fonctionnalités en avant-première

Rejoindre Microsoft Insider >

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×