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
| Sub detabsence()
On Error GoTo ErrorHandler
Dim dbs As DAO.Database
Dim rstSource As DAO.Recordset, rstCible As DAO.Recordset
Dim strSqlS As String, strSqlC As String
Dim i As Integer, j As Integer
Set dbs = CurrentDb
strSqlS = "SELECT id, identifiant, nom_usuel, prenom, type_absence, debut_absence, fin_absence, nb_jours" _
& " FROM tblAbsences"
strSqlC = "SELECT id_det, identifiant, nom_usuel, prenom, type_absence, date_absence" _
& " FROM tblAbsencesdet"
Set rstSource = dbs.OpenRecordset(strSqlS, dbOpenSnapshot)
Set rstCible = dbs.OpenRecordset(strSqlC, dbOpenDynaset)
rstSource.MoveLast
rstSource.MoveFirst
Do While Not rstSource.EOF
i = 0
j = rstSource("nb_jours")
Do Until i = j
rstCible.AddNew
rstCible!identifiant = rstSource!identifiant
rstCible!nom_usuel = rstSource!nom_usuel
rstCible!prenom = rstSource!prenom
rstCible!type_absence = rstSource!type_absence
rstCible!date_absence = rstSource!debut_absence + i
rstCible.Update
i = i + 1
Loop
rstSource.MoveNext
Loop
Exit Sub
ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Sub |
Partager