cs_chouchou78
Messages postés15Date d'inscriptionmardi 16 septembre 2003StatutMembreDernière intervention23 juin 2004
-
17 juin 2004 à 17:19
cs_chouchou78
Messages postés15Date d'inscriptionmardi 16 septembre 2003StatutMembreDernière intervention23 juin 2004
-
23 juin 2004 à 15:13
Bonjour, voici ma requete SQL, sous access, mais j'ai une erreur de syntaxe et je n'arrive pas a voir ou elle est. Je n'ai rien trouver dans l'aide donc je vous demande votre avis.
Voila la requete :
SELECT Contact_Evenement.Co_Ev_Date,
(If(Format(Month([Co_Ev_Date]),"00" ) = [Formulaires]![Menu Edition]![MoisA], Format(Month([Co_Ev_Date]),"00")) AS Expr1,
(If(Format(Month([Co_Ev_Date]),"00" ) = DateAdd("m",1,[Formulaires]![Menu Edition]![MoisA]), Format(Month([Co_Ev_Date]),"00")) AS Expr2,
(If(Format(Month([Co_Ev_Date]),"00" ) = DateAdd("m",2,[Formulaires]![Menu Edition]![MoisA]), Format(Month([Co_Ev_Date]),"00")) AS Expr3,
Client.Cl_Nom,
Site.Si_Nom,
Contact.Co_Num,
Contact.Co_Nom,
Contact.Co_Prenom
FROM (Client INNER JOIN (Contact LEFT JOIN Site ON Contact.Co_Site Site.Si_Num) ON Client.Cl_Num Contact.Co_Client) INNER JOIN Contact_Evenement ON Contact.Co_Num = Contact_Evenement.Co_Ev_Contact
WHERE ((Format(Month([Co_Ev_Date]),"00"))=[Formulaires]![Menu Edition]![MoisA])
OR ((Format(Month([Co_Ev_Date]),"00"))=DateAdd("m",1,[Formulaires]![Menu Edition]![MoisA]))
OR ((Format(Month([Co_Ev_Date]),"00"))=DateAdd("m",2,[Formulaires]![Menu Edition]![MoisA]));
Cette requete permet "normalement" de selectionner d'afficher dans une 1ere colonne le mois selectionner dan le formualaire "Menu edition" ex : janvier, dans la 2eme colonne mois+1 dc fevrier et dans la 3eme mois+2 dc mars.
Si ce n'est pas clair poser moi des questions et si vous avez une autre solution faites vos propositions.
cs_chouchou78
Messages postés15Date d'inscriptionmardi 16 septembre 2003StatutMembreDernière intervention23 juin 2004 23 juin 2004 à 11:34
Merci ca fonctionne mieux avec Int().
J'ai l'impression que tu te moque un peu de moi ;)
J'ai toujours le probleme du "01" qu'il ne reconnait pas, j'ai tester avec le Format(Str(....)) il me dit : Fonction utilisée avec un nombre d'arguments incorrect dans l'expression 'IIf(Format(Month(Contact_Evenement.Co_Ev_Date))=Format(Str([Formulaires]![Menu Edition]![MoisA])+1,Contact_Evenement.Co_Ev_Date,""))'
J'ai egalement rajouter le format(str(...)) dans Where et la pas de soucis par contre y'a pas d'erreur mais ca fonctionne pas
cs_chouchou78
Messages postés15Date d'inscriptionmardi 16 septembre 2003StatutMembreDernière intervention23 juin 2004 23 juin 2004 à 11:39
Oups a moi aussi car en fait ca fonctionne plus du tout avec 11 et 12 lol, dq je choisi 11 ca affiche bien els gens de novembre et c tout et qd je choisi 12 ca affiche rien meme pas ceux de novembre. Donc tout ca
keiko11245
Messages postés48Date d'inscriptionlundi 1 septembre 2003StatutMembreDernière intervention 5 avril 2006 23 juin 2004 à 13:48
Alors alors on va finir par y arriver :
Voila ce qui j'ai trouvé comme les commendaires que tu as fait :
SELECT Client.Cl_Nom,
Site.Si_Nom,
Contact.Co_Num,
Contact.Co_Nom,
Contact.Co_Prenom,
Contact_Evenement.Co_Ev_Date,
IIf(Month(Contact_Evenement.Co_Ev_Date)=IIf(Int([Formulaires]![Menu Edition]![MoisA]) Mod 12 = 0,12, Int([Formulaires]![Menu Edition]![MoisA]) Mod 12),Contact_Evenement.Co_Ev_Date,"") AS Mois,
IIf(Month(Contact_Evenement.Co_Ev_Date)=IIf((Int([Formulaires]![Menu Edition]![MoisA])+1) Mod 12 = 0,12, (Int([Formulaires]![Menu Edition]![MoisA])+1) Mod 12),Contact_Evenement.Co_Ev_Date,"") AS [Mois+1],
IIf(Month(Contact_Evenement.Co_Ev_Date)=IIf((Int([Formulaires]![Menu Edition]![MoisA])+2) Mod 12 = 0,12, (Int([Formulaires]![Menu Edition]![MoisA])+2) Mod 12),Contact_Evenement.Co_Ev_Date,"") AS [Mois+2]
FROM (Client INNER JOIN (Contact LEFT JOIN Site ON Contact.Co_Site Site.Si_Num) ON Client.Cl_Num Contact.Co_Client) INNER JOIN Contact_Evenement ON Contact.Co_Num = Contact_Evenement.Co_Ev_Contact
WHERE Contact_Evenement.Co_Ev_Evenement= -- ce que tu veux comme evenement
And (Month(Contact_Evenement.Co_Ev_Date)=IIf(Int([Formulaires]![Menu Edition]![MoisA]) Mod 12 = 0,12, Int([Formulaires]![Menu Edition]![MoisA]) Mod 12)
Or Month(Contact_Evenement.Co_Ev_Date)=IIf((Int([Formulaires]![Menu Edition]![MoisA])+1) Mod 12 = 0,12, (Int([Formulaires]![Menu Edition]![MoisA])+1) Mod 12)
Or Month(Contact_Evenement.Co_Ev_Date)=IIf((Int([Formulaires]![Menu Edition]![MoisA])+2) Mod 12 = 0,12, (Int([Formulaires]![Menu Edition]![MoisA])+2) Mod 12));
Je sais c'est un peu gros mais j'ai testé : ca marche du mois et janvier au mois de décembre, tu peut mettre 8 ou 08.
Par comtre après pour le tri je peux pas faire grand chose, là si le numéro du mois est plus petit que 10 c'est bon mais après il va falloir que tu les tri à la main.
Et pis là j'ai pas trop le temps d'y réfléchir.
J'espère que cette fois ci ca marchera mieux
:big) Ah l'informatique c'est bien quant même :big)