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
| Option Compare Database
Option Explicit
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, 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.S_F_Devis_Détails.Form.RecordsetClone
With rstsform
.MoveFirst
While Not .EOF
'Insérer les détails du devis dans la facture NumFact
strSQL = "INSERT INTO T_Factures_Détails " _
& "( ID_Facture, ID_Tarif, Désignation, Quantité, Prix_Unitaire," _
& "Remise, TVA )" _
& " SELECT " & NumFact & "," & rstsform![ID_Tarif] & ",'" & rstsform![Désignation] & "'," _
& Replace(rstsform![Quantité], ",", ".") & "," & 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_Facturation", , , "[ID_Client]" = Me.ID_Client
End Sub |
Partager