phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 2010
-
27 mai 2005 à 12:01
phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 2010
-
27 mai 2005 à 14:55
Voici ma requete sous Access 2000:
SELECT DISTINCTROW [SCMPEH].[LINNUM], [SCMLIN].[LINNAM], Format$([SCMPEH].[PEHDAT], "jj/mm/aaaa") AS [PEHDAT par jour], [SCMPEH].[ARTNUM], [SCMART].[ARTNAM], [SCMPEH].[PEHQTY], [SCMPEH].[PEHUNT], [SCMPEH].[PEHDUR], [SCMPEH].[PEHPER], [SCMPEH].[PEHPEF], [SCMPEH].[PEHEPE], [SCMPEH].[PEHEEF], [SCMDST].[MACNUM], [SCMMAC].[MACNAM], [SCMDST].[STPNUM], [SCMSTP].[STPDES], [SCMDST].[DSTDES], [SCMDST].[DSTFRE], Sum([SCMDST].[DSTDUR]) AS [Somme De DSTDUR], Count(*) AS [Compte De SCMART]
FROM ((SCMLIN INNER JOIN SCMMAC ON [SCMLIN].[LINNUM] =[SCMMAC].[LINNUM]) INNER JOIN ((SCMSTP INNER JOIN (SCMPEH INNER JOIN SCMDST ON ([SCMPEH].[PRONUM] =[SCMDST].[PRONUM]) AND (((([SCMPEH].[LINNUM] =[SCMDST].[LINNUM]) AND ([SCMPEH].[SHINUM] =[SCMDST].[SHINUM])) AND ([SCMPEH].[PEHDAT] =[SCMDST].[DSTDAT])) AND ([SCMPEH].[ARTNUM] =[SCMDST].[ARTNUM]))) ON [SCMSTP].[STPNUM] =[SCMDST].[STPNUM]) INNER JOIN SCMLST ON [SCMSTP].[STPNUM] =[SCMLST].[STPNUM]) ON [SCMLIN].[LINNUM] =[SCMLST].[LINNUM]) INNER JOIN (SCMART INNER JOIN SCMEFF ON [SCMART].[ARTNUM] =[SCMEFF].[ARTNUM]) ON [SCMLIN].[LINNUM] =[SCMEFF].[LINNUM]
GROUP BY [SCMPEH].[LINNUM], [SCMLIN].[LINNAM], Format$([SCMPEH].[PEHDAT], "jj/mm/aaaa"), [SCMPEH].[ARTNUM], [SCMART].[ARTNAM], [SCMPEH].[PEHQTY], [SCMPEH].[PEHUNT], [SCMPEH].[PEHDUR], [SCMPEH].[PEHPER], [SCMPEH].[PEHPEF], [SCMPEH].[PEHEPE], [SCMPEH].[PEHEEF], [SCMDST].[MACNUM], [SCMMAC].[MACNAM], [SCMDST].[STPNUM], [SCMSTP].[STPDES], [SCMDST].[DSTDES], [SCMDST].[DSTFRE]HAVING (((SCMPEH.LINNUM) "000301") AND ((SCMLIN.LINNAM) "Fab MC") AND ((SCMPEH.PEHDAT) = #06/01/2005#) AND ((SCMPEH.ARTNUM) = "05"));
Le message d'erreur est le suivant : You tried to execute a query that does not include the specified expression SCMPEH.LINNUM) "000301") AND ((SCMLIN.LINNAM) "Fab MC") AND ((SCMPEH.PEHDAT) = #06/01/2005#) AND ((SCMPEH.ARTNUM) = "05" as part of an aggregate function.
phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 20101 27 mai 2005 à 14:55
La clause WHERE me redonne une autre erreur et il me semble qu'avec un GROUP BY on utilise plutot un HAVING.
Quant à la fonction format, ca ne change rien.
En fait il fallait reprendre la totalité de la fonction format dans le HAVING cad :
HAVING (((SCMPEH.LINNUM) "000301") AND ((SCMLIN.LINNAM) "Fab MC") AND (Format$([SCMPEH].[PEHDAT], "jj/mm/aaaa") = #06/01/2005#) AND ((SCMPEH.ARTNUM) = "05"));