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
| Public Sub AJOUTECHEANCIER(RefOpe As Integer)
Dim db As DAO.Database, tblA As DAO.Recordset
Dim xDate As Date, NewDate As Date, NbTour As Long, MtD As Currency, MtE As Currency, Cpte As Integer, x As Long, RP As Integer, refe As String, Rgt As Integer
Set db = CurrentDb
Set tblA = db.OpenRecordset("SELECT * FROM SELECTION_OPERATIONS_POUR_ECHEANCIER WHERE REFOPERATION=" & RefOpe & ";", dbOpenDynaset, dbSeeChanges)
With tblA
If .RecordCount <> 0 Then
.MoveFirst
Do While Not .EOF
xDate = .Fields(1)
refe = .Fields(2)
MtE = (.Fields(3) / .Fields(7))
MtD = (.Fields(4) / .Fields(7))
RP = .Fields(5)
Cpte = .Fields(6)
NbTour = .Fields(7)
Rgt = .Fields(8)
For x = 0 To NbTour - 1
NewDate = DateAdd("m", x, xDate)
DoCmd.RunSQL "INSERT INTO ECHEANCES (DATEECHEANCE, DATEECHEANCEVALEUR, REFMODEREGLEMENT, ENCAISSEMENT, DECAISSEMENT, RAPPROCHE, REALISATION, PREVISION, REFOPERATION, REFCOMPTE, REFPERIODE, REFERENCE) VALUES (#" & Format(NewDate, "mm/dd/yyyy") & "#, #" & Format(NewDate, "mm/dd/yyyy") & "#, " & Rgt & ", " & MtE & ", " & MtD & ", 0, 1, 1, " & RefOpe & " , " & Cpte & ", " & RP & ", " & refe & ");"
Next
.MoveNext
DoEvents
Loop
End If
.Close
End With
Set tblA = Nothing
Set db = Nothing
End Sub
Private Sub btAJOUT_ECHEANCIER_Click()
DoCmd.SetWarnings False
Call AJOUTECHEANCIER(Nz(Forms!OPERATION!REFOPERATION, 0))
DoCmd.RunCommand acCmdRefresh
End Sub |
Partager