Requete Access
Sagara-kun
Messages postés
38
Statut
Membre
-
blux Messages postés 19333 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 19333 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'essaye desesperement d'integrer un if dans mes requetes SQL mais rien faire il me sort un message d'erreur comme quoi il manque l'opérateur.
Voici mon code:
SELECT Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Sum(Heures_travaillees.Heures) AS Heures, Accident_travail.DateAccident, Accident_travail.NbJourArret AS NbJourArret
FROM Heures_travaillees INNER JOIN Accident_travail ON Heures_travaillees.Matricule = Accident_travail.Matricule
WHERE (((Heures_travaillees.Mois)=6) AND (Month([Accident_travail]![MoisEnCours])=6))
GROUP BY Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Accident_travail.DateAccident, Accident_travail.NbJourArret
DateAccident: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]![Matricule];DateAccident=#31/12/9999#;[Accident_travail]![DateAccident])
NbJourArret: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]![Matricule];NbJourArret=0;[Accident_travail]![NbJourArret]);
et le message d'erreur:
Erreur de syntaxe (opérateur absent) dans l'expression 'Accident_travail.NbJourArret
DateAccident: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]![Matricule];DateAccident=#31/12/9999#;[Accident_travail]![DateAccident])
NbJourArret: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]!'
j'essaye desesperement d'integrer un if dans mes requetes SQL mais rien faire il me sort un message d'erreur comme quoi il manque l'opérateur.
Voici mon code:
SELECT Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Sum(Heures_travaillees.Heures) AS Heures, Accident_travail.DateAccident, Accident_travail.NbJourArret AS NbJourArret
FROM Heures_travaillees INNER JOIN Accident_travail ON Heures_travaillees.Matricule = Accident_travail.Matricule
WHERE (((Heures_travaillees.Mois)=6) AND (Month([Accident_travail]![MoisEnCours])=6))
GROUP BY Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Accident_travail.DateAccident, Accident_travail.NbJourArret
DateAccident: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]![Matricule];DateAccident=#31/12/9999#;[Accident_travail]![DateAccident])
NbJourArret: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]![Matricule];NbJourArret=0;[Accident_travail]![NbJourArret]);
et le message d'erreur:
Erreur de syntaxe (opérateur absent) dans l'expression 'Accident_travail.NbJourArret
DateAccident: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]![Matricule];DateAccident=#31/12/9999#;[Accident_travail]![DateAccident])
NbJourArret: VraiFaux([Heures_travaillees]![Matricule]<>[Accident_Travail]!'
26 réponses
Voila la requete:
SELECT Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Heures_travaillees.Mois, Heures_travaillees.Annee, Heures_travaillees.Heures, Accident_travail.DateAccident, Sum(Accident_travail.NbJourArret) AS NbJourArret, IIf((Month(Accident_travai.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.DateAccident,DateAccident=#12/31/9999#),
iif((Month(Accident_travail.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.NbJourArret,NbJourArret=0)
FROM Heures_travaillees RIGHT JOIN Accident_travail ON Heures_travaillees.Matricule=Accident_travail.Matricule
GROUP BY Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Heures_travaillees.Mois, Heures_travaillees.Annee, Heures_travaillees.Heures, Accident_travail.DateAccident, Accident_travail.MoisEnCours;
SELECT Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Heures_travaillees.Mois, Heures_travaillees.Annee, Heures_travaillees.Heures, Accident_travail.DateAccident, Sum(Accident_travail.NbJourArret) AS NbJourArret, IIf((Month(Accident_travai.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.DateAccident,DateAccident=#12/31/9999#),
iif((Month(Accident_travail.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.NbJourArret,NbJourArret=0)
FROM Heures_travaillees RIGHT JOIN Accident_travail ON Heures_travaillees.Matricule=Accident_travail.Matricule
GROUP BY Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Heures_travaillees.Mois, Heures_travaillees.Annee, Heures_travaillees.Heures, Accident_travail.DateAccident, Accident_travail.MoisEnCours;
Tu pourrais me faire un exemple a partir de ma requete de base stp ?
Un truc comme ça (le sum en dernier et les iif faisant partie du group by) :
SELECT Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Heures_travaillees.Mois, Heures_travaillees.Annee, Heures_travaillees.Heures, Accident_travail.DateAccident, IIf((Month(Accident_travai.MoisEnCours))=Heures_travaillees.mois,Accident_travail.DateAccident,DateAccident=#12/31/9999#), iif((Month(Accident_travail.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.NbJourArret,NbJourArret=0),Sum(Accident_travail.NbJourArret) AS NbJourArret FROM Heures_travaillees RIGHT JOIN Accident_travail ON Heures_travaillees.Matricule=Accident_travail.Matricule GROUP BY Heures_travaillees.Matricule, Heures_travaillees.Nom, Heures_travaillees.Prenom, Heures_travaillees.Activite, Heures_travaillees.Mois, Heures_travaillees.Annee, Heures_travaillees.Heures, Accident_travail.DateAccident, Accident_travail.MoisEnCours,IIf((Month(Accident_travai.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.DateAccident,DateAccident=#12/31/9999#), iif((Month(Accident_travail.MoisEnCours))=Heures_travaillees.Mois,Accident_travail.NbJourArret,NbJourArret=0);Aux oublis de virgules près...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vous avez essayé d'executer une requête ne comprenant pas l'expression spécifiée
'IIf(Month(Accident_travail.MoisEnCours)=Heures_travaillees.Mois,Accident_travail.NbJourArret,NbJourArret=0)'
comme une partie de la fonction d'agrégat
'IIf(Month(Accident_travail.MoisEnCours)=Heures_travaillees.Mois,Accident_travail.NbJourArret,NbJourArret=0)'
comme une partie de la fonction d'agrégat