Problème de débutant VBA (Pb d'exécution de Requête)

Résolu
pataccess Messages postés 39 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 31 mars 2006 - 5 sept. 2005 à 12:21
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 5 sept. 2005 à 12:55
Bonjour à tous !!

Je sollicite votre aide précisieuse pour une requête Access sous VBA qui ne désire pas fonctionner correctement :

CurrentDb.Execute ("INSERT INTO ETP_Etat12mois_IntN( Annee, Mois, NbreJours, NbHeuresPaie )" & _
"SELECT Nbrejours_ETP.Annee, Nbrejours_ETP.Mois, Nbrejours_ETP.NbreJours, Sum(Etat12mois_glissant_N.NbHeuresPaie) AS SommeDeNbHeuresPaie FROM Etat12mois_glissant_N " & _"INNER JOIN Nbrejours_ETP ON (Etat12mois_glissant_N.Annee Nbrejours_ETP.Annee) AND (Etat12mois_glissant_N.Mois Nbrejours_ETP.Mois) " & _
"GROUP BY Nbrejours_ETP.Annee, Nbrejours_ETP.Mois, Nbrejours_ETP.NbreJours, Etat12mois_glissant_N.CodeAgence" & _
"HAVING (((Etat12mois_glissant_N.CodeAgence)='" & strnomagence & "'));")

En lancant cette requête j'ai un message d'erreur du type - Fonction 'Etat12Mois_glissant_N.CodeAgenceHaving' non défini dans l'expression. Je ne comprends paspourquoi le problème persiste au niveau de cette ligne sachant que je l'effectue généralement toujours pareil et m'entraine aucun problème !!

Merci d'avance !!
Patrick

2 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
5 sept. 2005 à 12:55
Salut, je n'ai pas regardé plus loin mais déjà il te manque un espace avant ton HAVING.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
5 sept. 2005 à 12:43
Salut pataccees,


A priori, dans le GROUP BY tu dois mettre tous les champs que tu as
dans le SELECT à l'exception de se qui te sert dasn SUM(), MAX(),
COUNT() etc ...



donc je dirais que Etat12mois_glissant_N.CodeAgence
n'a rien à faire là ...



A la place de ton Having, tu peux essayer de mettre dna sla clause WHERE





CurrentDb.Execute ("INSERT INTO ETP_Etat12mois_IntN( Annee, Mois, NbreJours, NbHeuresPaie )" & _
"SELECT
Nbrejours_ETP.Annee, Nbrejours_ETP.Mois, Nbrejours_ETP.NbreJours,
Sum(Etat12mois_glissant_N.NbHeuresPaie) AS SommeDeNbHeuresPaie FROM
Etat12mois_glissant_N " & _
"INNER JOIN Nbrejours_ETP ON
(Etat12mois_glissant_N.Annee = Nbrejours_ETP.Annee) AND
(Etat12mois_glissant_N.Mois = Nbrejours_ETP.Mois) " & _

"
WHERE(((Etat12mois_glissant_N.CodeAgence)='" & strnomagence & "'))
" & _
"GROUP BY Nbrejours_ETP.Annee, Nbrejours_ETP.Mois, Nbrejours_ETP.NbreJours" & ";")




++

Zlub
0
Rejoignez-nous