Requete Access
Fermé
Sagara-kun
Messages postés
34
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
19 mars 2009
-
18 févr. 2009 à 09:51
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 - 20 févr. 2009 à 11:31
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 - 20 févr. 2009 à 11:31
A voir également:
- Requete Access
- Access appdata - Guide
- Acer quick access - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Acer Quick Access - affichage CapsLock, VerrNum - Forum logiciel systeme
- Controller access network - Télécharger - Contrôle parental
26 réponses
Sagara-kun
Messages postés
34
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
19 mars 2009
1
20 févr. 2009 à 08:03
20 févr. 2009 à 08:03
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;
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 févr. 2009 à 09:27
20 févr. 2009 à 09:27
Tu as mis ton iif avant ton sum, donc ça ne va pas.
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 févr. 2009 à 09:45
20 févr. 2009 à 09:45
oops !
fallait lire 'APRES' le sum et non 'AVANT'...
fallait lire 'APRES' le sum et non 'AVANT'...
Sagara-kun
Messages postés
34
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
19 mars 2009
1
20 févr. 2009 à 09:32
20 févr. 2009 à 09:32
Donne moi un exemple de la requete alors stp parce que je vois pas où je peut mettre mes iif
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 févr. 2009 à 09:45
20 févr. 2009 à 09:45
La meilleure des solutions serait de passer en 2 fois comme je l'ai expliqué plus haut, ça permettrait d'avoir des requêtes plus simples.
Sagara-kun
Messages postés
34
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
19 mars 2009
1
20 févr. 2009 à 09:52
20 févr. 2009 à 09:52
Tu pourrais me faire un exemple a partir de ma requete de base stp ?
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 févr. 2009 à 10:41
20 févr. 2009 à 10:41
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
Sagara-kun
Messages postés
34
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
19 mars 2009
1
20 févr. 2009 à 10:50
20 févr. 2009 à 10:50
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
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 févr. 2009 à 10:57
20 févr. 2009 à 10:57
ben, à part une erreur de syntaxe, je ne vois pas...
tu peux envoyer ta base 'en access 2002' que je jette un oeil ?
tu peux envoyer ta base 'en access 2002' que je jette un oeil ?
Sagara-kun
Messages postés
34
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
19 mars 2009
1
20 févr. 2009 à 11:01
20 févr. 2009 à 11:01
Laisse tomber la base fait 1Go600Mo et puis jsuis pas administrateur de ma machine je peut quasiment rien faire dessus.
Ba c'est pas grave si jy arrive pas je vais passer par des tables intermediaires sa sera plus simple.
Merci beaucoup tout de meme pour ton aide.
Ba c'est pas grave si jy arrive pas je vais passer par des tables intermediaires sa sera plus simple.
Merci beaucoup tout de meme pour ton aide.
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 févr. 2009 à 11:31
20 févr. 2009 à 11:31
fais deux requêtes de suite : INSERT et UPDATE, ça sera plus facile à gérer...