Bonjour !
Voila ce que je souhaite faire :
j'ai une requête R_intervalle_analyse (n°arrete, nom_analyse, n°fourchette, nb_analyse_annee1,nb_analyse_routine).
je souhaite définir, pour chaque n°fourchette de chaque n°arrete, les dates d'analyses.
Ces dates d'analyse sont calculées sur Max(nb_analyse_annee1) pour la table T_Tmp_annee1 et sur Max(nb_analyse_routine) pour la table T_Tmp_routine.
Par exemple :
n°arrete nom_analyse n°fourchette nb_analyse_annee1
2170 valB 1 4
2170 AsB 1 0
2170 E-t 1 2
2170 CO 1 1
Dans ce cas je dois calculer 4 dates pour la fourchette 1 de l'arrete 2170 et les répartir correctement sur 1 an en prenant en compte, si elle existe, la date de la toute première analyse.
Correspondance avec le code :
j'ai au maximum 10 fourchettes =>
For j = 1 To 10 ... Next j
ma table T_arrete liste les n°arrete =>
While Not tar.EOF ... tar.MoveNext Wend
vérification de l'existence de la fourchette pour l'arrete =>
If Not IsNull(rst.Fields(2) = j) Then ... End If
vérification de l'existence de la date de la toute première analyse =>
If IsNull(rst4.Fields(3)) Then ... End If
répartition des dates si n'existe pas =>
rst2.Fields(2) = (Int(52 / max / 2) + (k - 1) * Int(52 / max)) * 7 + DateSerial(Year(Date), 1, 1)
répartition des dates si existe =>
rst2.Fields(2) = (Int(52 / max / 2) + (k - 1) * Int(52 / max)) * 7 + DateSerial(Year(Date), Month(rst4.Fields(3)), Day(rst4.Fields(3)))
Partager