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
| Private Sub BtnCreerFacture_Click()
Dim strSQL As String
Dim NumFact As Long
Dim rstsform As DAO.Recordset
'Rajouter dans la table facture le numéro de client et de devis.
strSQL = "INSERT INTO T_Factures ( ID_Devis_FK_Fact, ID_Client ) SELECT " & Me.ID_Devis & "," & Me.ID_Client & ";"
DoCmd.RunSQL strSQL ' Exécuter la requête
'Récupérer le numéro de la facture
NumFact = DMax("[ID_Facture]", "[T_Factures]")
'Parcourir le sous-formulaire
Set rstsform = Me.SF_Devis_Details.Form.RecordsetClone
With rstsform
.MoveFirst
While Not .EOF
'Insérer les détails du devis dans la facture NumFact
strSQL = "INSERT INTO T_Factures_Details " _
& "( ID_Facture, ID_Prod_FK_Fact, Designation, Quantite, Prix_Unitaire," _
& "Remise, TVA )" _
& " SELECT " & NumFact & "," & rstsform![ID_Prod_FK_Devis] & ",'" & rstsform![Designation] & "'," _
& Replace(rstsform![Quantite], ",", ".") & "," & Replace(rstsform![Prix_Unitaire], ",", ".") & "," _
& Replace(rstsform![Remise], ",", ".") & "," & Replace(rstsform![TVA], ",", ".") & ";"
'Debug.Print strSQL
DoCmd.RunSQL strSQL
.MoveNext
Wend
End With
Set rstsform = Nothing
'Ouvrir le formulaire de facturation sur le client
DoCmd.OpenForm "F_Clients_Factures", , , "[ID_Client] =" & Me.ID_Client |
Partager