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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
Private Sub B_CopyConforme_Click()
' Msgbox d'Avertissement
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Vous êtes sur le point de faire une Copy-Conforme du Devis" & Chr(13) & "Souhaitez-vous continuer?" ' Définit le message.
Style = vbYesNo + vbExclamation + vbDefaultButton2 ' Définit les boutons.
Title = "Avertissement" ' Définit le titre.
' Affiche le message.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ' L'utilisateur a choisi Oui.
Else ' L'utilisateur a choisi Non.
Exit Sub
End If
On Error GoTo Err_Handler
Dim strSql As String 'SQL statement.
Dim lngID As Long 'Primary key value of the new record.
'Save any edits first
If Me.Dirty Then
Me.Dirty = False
End If
'Make sure there is a record to duplicate.
If Me.NewRecord Then
MsgBox "Selectionner le Devis à Dupliquer."
Else
'Duplicate the main record: add to form's clone.
With Me.RecordsetClone
.AddNew 'la methode AddNewcar permet de Récupérer la nouvelle K_NumDevis
!NomSociete = Me.NomSociete
!NomClt = Me.NomClt
!Ad1Clt = Me.Ad1Clt
!Ad2Clt = Me.Ad2Clt
!CpClt = Me.CpClt
!VilleClt = Me.VilleClt
!HTDevis = Me.HTDevis
'etc for other fields.
.Update
'Save the primary key value, to use as the foreign key for the related records.
.Bookmark = .LastModified
lngID = !K_NumDevis 'nouvelle K_NumDevis
'Duplicate the related records: append query.
'Attention : Dans le cas d'un Compteur ne pas recopier la Kprimaire: K_DevisLig
If Me.F111_DevisLigSousFormulaire.Form.RecordsetClone.RecordCount > 0 Then
strSql = "INSERT INTO [T_DevisLig] (K_NumDevis,Description,Qté,Unité,Pu )" & _
"SELECT " & lngID & " ,Description,Qté,Unité,Pu " & _
"FROM [T_DevisLig] WHERE K_NumDevis = " & Me.K_NumDevis & ";"
DBEngine(0)(0).Execute strSql, dbFailOnError
Else
MsgBox "Le Devis est Dupliqué, mais il n'y avait pas de Lignes à Dupliquer", vbOKOnly + vbInformation, ""
End If
'Affiche à l'Ecran le Devis Dupliqué .
Me.Bookmark = .LastModified
MsgBox "Devis Dupliqué ! " & " " & Chr(13) & Chr(13) & "N°:" & lngID, vbInformation, ""
Me.Ctl_DevisSigné.Visible = False
'Cacher les Boutons Inutiles
Me.B_ImprimeDevis.SetFocus 'Car Impossible de masquer le Controle Actif
Me.B_CopyConforme.Visible = False 'Controle Actif
Me.B_CopyStructure.Visible = False
Me.Caption = "Copy Conforme"
Me.Étiquette44.Caption = "Copy Conforme" 'Etiqette44 (c'est le Titre )
Me.Boîte97.Visible = False 'Boite97(Cadre)
End With
End If
Exit_Handler:
Exit Sub
Err_Handler:
MsgBox "Error " & Err.Number & " - " & Err.Description, , "B_CopyConforme_Click"
Resume Exit_Handler
End Sub |
Partager