Implimanter table avec données recordset [Résolu/Fermé]

Signaler
-
 help00 -
Bonjour,

j'ai travaillée sur un code qui récupérer des date ( recordset) et les mis à jour,
mais quand je veux implémenter la table avec les données calculer seul la dernier ligne s'affiche les autre non.

voici mon code:

Private Sub Commande4_Click()

Dim con As ADODB.Connection
DoCmd.RunSQL "drop table dbo.TabIntervalEnqRegl"

sqlIntEch = "select dbo.TabEnquetregl.N_PERMIS, dbo.TabEnquetregl.Date_Reception, dbo.TabEnquetregl.date_report,dbo.TabEnquetregl.date_realisation into dbo.TabIntervalEnqRegl" & _
" from dbo.TabEnquetregl"
DoCmd.RunSQL sqlIntEch

'sqlechh = " insert into dbo.TabIntervalEnqRegl" & _
'" Select dbo.TabEnquetregl.N_PERMIS, dbo.TabEnquetregl.Date_Reception, dbo.TabEnquetregl.date_report from dbo.TabEnquetregl"
'DoCmd.RunSQL sqlechh
'
sqlIntEch2 = "alter table dbo.TabIntervalEnqRegl" & _
" add rappel_reception datetime, rappel_report datetime"
DoCmd.RunSQL sqlIntEch2
'
DoCmd.RunSQL "drop table tabRegTm"
DoCmd.RunSQL "create table tabRegTm(N_Permis nvarchar(30),rappel_reception datetime, rappel_report datetime)"
'
'
Dim rsreg As ADODB.Recordset
Dim rsintregreg As ADODB.Recordset


Set con = CurrentProject.Connection
Set rsreg = New ADODB.Recordset
Set rsintreg = New ADODB.Recordset
''
rsreg.Open "[TabIntervalEnqRegl]", con, 1, 3
rsintreg.Open "[tabRegTm]", con, 1, 3
'
Do While rsreg.EOF = False

N_Permis = rsreg("n_permis")
date_recp = rsreg("Date_Reception")
date_repo = rsreg("date_report")
date_real = rsreg("date_realisation")

If IsNull(date_repo) And IsNull(date_real) Then
date_recp = DateAdd("d", 10, [date_recp])
'Debug.Print date_recp

Else

If Not IsNull(date_repo) Then
date_repo = DateAdd("d", 10, [date_repo])
End If

End If
Debug.Print date_repo, "**", date_recp

rsreg.MoveNext
Loop

'
''
suite:
rsintreg.AddNew
rsintreg("n_permis") = N_Permis
rsintreg("rappel_reception") = date_recp
rsintreg("rappel_report") = date_repo
rsintreg.Update
rsintreg.MoveNext




'Debug.Print N_Permis, "_", date_recep

'sqlIntFinal = "update dbo.TabIntervalEnqRegl" & _
'" set dbo.TabIntervalEnqRegl.rappel_reception = dbo.tabRegTm.rappel_reception" & _
'" dbo.TabIntervalEnqRegl.rappel_report = dbo.tabRegTm.rappel_report" & _
'" from dbo.tabRegTm" & _
'" where dbo.tabRegTm.n_permis = dbo.TabIntervalEnqRegl.n_permis"
''
'DoCmd.RunSQL sqlIntFinal

con.Close
Set con = Nothing
Set rsreg = Nothing
Set rsintreg = Nothing

End Sub


je ne comprend pas pourquoi il ne prend en considération que la denier ligne???

1 réponse

modification du code:

Do While rsreg.EOF = False

N_Permis = rsreg("n_permis")
date_recp = rsreg("Date_Reception")
date_repo = rsreg("date_report")
date_real = rsreg("date_realisation")

If IsNull(date_repo) And IsNull(date_real) Then
date_recp = DateAdd("d", 10, [date_recp])
End If

If Not IsNull(date_repo) Then
date_repo = DateAdd("d", 10, [date_repo])
End If

'End If


Debug.Print date_repo, "**", date_recp



rsreg("rappel_report") = date_repo
rsreg("rappel_reception") = date_recp
rsreg.MoveNext
Loop