Bonjour,
Un élève ne peut pas passer plus de 18 mois au sein d'une classe bien précise.
Passé ces 18 mois, il doit être réorienté dans une autre classe.
Dès lors, en fin d'année scolaire, les gestionnaires veulent savoir quels élèves auront atteint leurs 18 mois en septembre de l'année scolaire prochaine.
Dans ma base de données, j'ai donc :
- un champ "[Ele_Inscription_Date]" pour la table "T_Eleves", qui contient la date d'inscription
- un champ "[Par_AS]" dans la table "T_Parametres", qui stocke l'année scolaire ( exemple : 2016-2017 )
J'ai donc construit une requête :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DateAdd("m",18,[Ele_Inscription_Date]) AS [18 Mois], T_Eleves.Ele_Inscription_Date, T_Eleves.Ele_Nom, T_Eleves.Ele_Prenom, T_Eleves.Ele_Classe FROM T_Eleves WHERE (((T_Eleves.Ele_Classe) Like "*LACLASSE*")) ORDER BY DateAdd("m",18,[Ele_Inscription_Date]);
Cette requête servira de source à un formulaire et à un état.
La date de 18 mois avec le DateAdd est correcte.
Il reste à construire la condition pour sélectionner les 18 mois dont les dates sont après le 30/06 et avant le 01/10.
Si je mets WHERE (((DateAdd("m",18,[Ele_Inscription_Date]))>#6/30/2017# And (DateAdd("m",18,[Ele_Inscription_Date]))<#10/1/2017#) etc, cela ne sera correct que pour l'année scolaire 2016-2017 ( qui changera par la suite ).
Puis-je dès lors construire une condition date avec un dlookup sur l'année ( et me servir du champ "Par_AS" ), ou avez-vous une autre solution ?
Merci de votre aide.
Partager