Bonjour,
J'ouvre ce sujet, suite à une question intéressante que m'a posée unice et qui pourrait intéresser d'autres personnes :
De façon générale, voici coment je fais pour avoir les dates comprises entre [DateDebut] et [DateFin] :Envoyé par unice
Je dispose donc d'une table T_Planning avec les champs [DateDebut] et [DateFin].
Je crée ensuite une table d'indices nommée T_IndiceJour (IndiceJour) contenant des entiers compris par exemple entre 1 et 31 (mais on peut imaginer un intervalle plus important).
Ensuite, je réalise une sorte de produit cartésien entre ces 2 tables dans une requête dont voici le SQL :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_Planning.IdPlanning, T_Planning.Memo, [DateDebut]+[IndiceJour]-1 AS DateJour FROM T_IndiceJour, T_Planning WHERE (T_IndiceJour.IndiceJour)<=DateDiff("d",[DateDebut],[DateFin])+1 ORDER BY T_Planning.IdPlanning, [DateDebut]+[IndiceJour]-1;
Cette requête va donc générer pour chaque IdPlanning les dates comprises entre [DateDebut] et [DateFin].
Cdlt,
Partager