Comment faire fonctionner la requête/sous-requête suivante? Son but est de calculer le poids d'une commande. La requête sera ensuite utilisée comme sous-requête dans d'autres, et jointe sur le numéro de facture. Si possible, je voudrais faire ce travail sans utiliser une sous-requête/sous-sélection dans le SQL. Par souci de clarté, je devrais préciser que cette requête se trouve dans un "frontend utilitaire" Access 2007 que j'ai créé pour un ancien système de gestion des commandes AS400 sur un serveur IBM iSeries DB2 SQL dont j'ai hérité par attrition, mais ces les détails ne sont probablement pas pertinents au problème.Comment créer une sous-requête qui résume une colonne calculée dans Access 2007 ..?
Cette version dev de la requête fonctionne parfaitement avec un numéro de facture codé en dur en elle:
SELECT Sum([OrdersThisWeek].[Qty]*[Products].[Wgt]) AS InvWgt
FROM Products INNER JOIN OrdersThisWeek ON Products.Item = OrdersThisWeek.Item
WHERE OrdersThisWeek.InvNum=557618 AND OrdersThisWeek.Qty>0 AND Products.Wgt>0;
Mais comme indiqué ci-dessous, quand je me déplace le numéro de facture où sélectionner, enregistrez-le, déposez-le dans une autre requête, et le joindre sur le numéro de facture, il provoque l'erreur suivante: "Vous avez essayé d'exécuter une requête qui n'inclut pas l'expression spécifiée" InvNum "dans le cadre d'une fonction d'agrégation.". Je comprends ce que cela veut dire, mais je ne sais pas quoi faire à ce sujet:
SELECT OrdersThisWeek.InvNum, Sum([OrdersThisWeek].[Qty]*[Products].[Wgt]) AS InvWgt
FROM Products INNER JOIN OrdersThisWeek ON Products.Item = OrdersThisWeek.Item
WHERE OrdersThisWeek.Qty>0 AND Products.Wgt>0;
J'ai joué avec elle, googlé, et lu à ce sujet, mais de toute évidence il y a quelques concepts clés que je » m manquant.
double possible de [MS-Access - vous avez essayé d'exécuter une requête qui ne comprend pas la fonction d'agrégation spécifiée] (https: // stackoverflow. com/questions/19430500/ms-access-vous-essayé-d'-exécuter-une-requête-qui-n'inclut pas-le-spécifié-agg) –