Bonjour !
j'ai un souci avec le code suivant :
Seul le premier enregistrement de du recordset tar est pris en compte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 While Not tar.EOF For j = 1 To 10 Dim criter As String criter = "SELECT * FROM R_intervalle_analyse " & "WHERE R_intervalle_analyse.n°fourchette = " & j & " And R_intervalle_analyse.n°arrete = " & tar.Fields(0) & ";" Set rst = CurrentDb.OpenRecordset(criter) If Not IsNull(rst.Fields(2) = j) Then 'rempli la table T_Tmp_annee1 max = DMax("R_intervalle_analyse.[nb_analyse_annee1]", "R_intervalle_analyse", "R_intervalle_analyse.[n°fourchette]=" & j & " And R_intervalle_analyse.[n°arrete] = " & tar.Fields(0)) For k = 1 To max rst2.AddNew rst2.Fields(0) = rst.Fields(0) rst2.Fields(1) = rst.Fields(2) If IsNull(rst4.Fields(3)) Then rst2.Fields(2) = (Int(52 / max / 2) + (k - 1) * rst.Fields(5)) * 7 + DateSerial(Year(Date), 1, 1) Else rst2.Fields(2) = (Int(52 / max / 2) + (k - 1) * rst.Fields(5)) * 7 + DateSerial(Year(Date), Month(rst4.Fields(3)), Day(rst4.Fields(3))) End If rst2.Update Next k 'rempli la table T_Tmp_routine max = DMax("R_intervalle_analyse.[nb_analyse_routine]", "R_intervalle_analyse", "R_intervalle_analyse.[n°fourchette]=" & j) For k = 1 To max rst3.AddNew rst3.Fields(0) = rst.Fields(0) rst3.Fields(1) = rst.Fields(2) If IsNull(rst4.Fields(3)) Then rst3.Fields(2) = (Int(52 / max / 2) + (k - 1) * rst.Fields(6)) * 7 + DateSerial(Year(Date), 1, 1) Else rst3.Fields(2) = (Int(52 / max / 2) + (k - 1) * rst.Fields(6)) * 7 + DateSerial(Year(Date), Month(rst4.Fields(3)), Day(rst4.Fields(3))) End If rst3.Update Next k End If Next j tar.MoveNext Wend
Je pense que le problème vient des lignes
mais je ne vois par comment résoudre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 criter = "SELECT * FROM R_intervalle_analyse " & "WHERE R_intervalle_analyse.n°fourchette = " & j & " And R_intervalle_analyse.n°arrete = " & tar.Fields(0) & ";" Set rst = CurrentDb.OpenRecordset(criter)
Partager