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
| Private Sub B_SupprEnregistrement_DblClick(Cancel As Integer)
'Supprime l'Enregistrement courant
MsgBox Me.K_DevisLig 'pour vérifier la bonne ligne
'DoCmd.RunCommand acCmdDeleteCurrentRecord Marche pas dans ce cas
'Me.Recordset.Delete 'PAS BON car Supprime l'Enregistrement Précedant et permet multi-Sélection _
avec Sélecteur d'Enregistrement Donc supression Selecteur et je créé un Bouton
'Reste SQL statement
'Test si la ligne à supprimer est Facturée
Dim Reponse As Byte
Dim Test As Long
Dim KleSupp As Long
KleSupprimee = Me.K_DevisLig
MsgBox KleSupprimee
Test = (Nz(Me.K_Facture, "") = "")
If Test = Faux Then 'Condition
MsgBox "Suppression Impossible" & (Chr(13) & Chr(10) & Chr(13)) & _
"cet Enregistrement figure sur une Facture ! ", vbCritical, "Attention"
Else
Reponse = MsgBox("supprimer cette ligne ?", vbOKCancel + vbCritical, "Suppression de l'Enregistrement")
Select Case Reponse
Case Is = 1 'Ok
'Me.Recordset.Delete 'PAS BON car Supprime l'Enregistrement Précedant et permet multi-Sélection _
avec Sélecteur d'Enregistrement Donc supression Selecteur et je créé un Bouton
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE K_DevisLig,K_NumDevis,K_DevisSection,K_Facture,Description,Qté,Unité,Pu,OrdreTriLignes,Flag " & _
"FROM [T_DevisLig] WHERE K_DevisLig = KleSupprimee;" 'ici j'ai une InputBox pas souhaitée
DoCmd.SetWarnings True
Case Is = 2 'Cancel
Exit Sub
End Select
End If
End Sub |
Partager