Problème Format date dans requete

Résolu
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 - 27 mai 2005 à 12:01
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Derniè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.

Quelqu'un peut il m'aider?
Merci d'avance


---------------------------------------------------------------------------
Phantom_2005

2 réponses

phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
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"));

Voila merci de ton aide


--------------------------------------------------------------------------------
Phantom_2005
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
27 mai 2005 à 14:47
Salut,



En enlevant la fonction format de ta clause having

qu'est que ca donne?



Et si tu mets les champs de la clause having dans une clause where

ca te donnes quoi ??



Esperant t'avoir aider ?
0
Rejoignez-nous