Bonjour à tous
Je rencontre un petit souci sur du code VBA sous Access 2010
Je cherche a actualiser le Rowsource d'une zone de liste en fonction des choix de filtre de l'utilisateur.
Aprés chaque UPDATE, ma requete est construite en fonction des filtres
Exemple :
Si je choisis usine : TP
L'evenement After UPDATE se déclenche, et construira la requete " SELECT * FROM MALADIE WHERE USINE = 'TP' "
Etc
Mon probleme survient lorsque je veux choisir des maladies dont la durée est entre 1 et 7 jours, car les criteres de périodes sont également présent.
Je vous fournis le bout de requete :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM MALADIE WHERE LOCAL = 'TP' AND #07/01/2014# BETWEEN DEBUT AND FIN IN (SELECT * FROM MALADIE WHERE DateDiff('d',DEBUT, FIN) < 9)
Le DateDiff permet de sélectionner des maladies dont la duée est entre 1 et 7 jours.
Le between permet de prendre en compte des maladies qui auraient commencées avant la date de période, mais qui ont une partie de la maladie comprise dans la période, car ces gens sont malades au moment de la période.
J'ai pensé construire ma requete de cette facon mais ca ne fonctionne pas
si je ne fais pas de critere de periode entre 1 et 7 jours, les résultats sont correct.
Je vous demande donc votre aide :
- Est il possible de faire une requete sur le resultat du rowsource, et si oui comment?
- Sinon comment puis-je faire pour améliorer ma requete afin que mes criéteres ne fassent pas planter la requete?
Merci à tous pour vos réponse
Ted'







Répondre avec citation



Partager