Bonjour,
Je suis sur Access 2002.
J'ai un formulaire. Qui affiche les lignes de mes tables. (une page qui affiche toute les lignes, et non une page par ligne de la table)
Avec un bouton "Modifier / Enregistrer" (Quand on clique sur modifier, il se nomme en enregistrer)
Et un bouton "Annuler" (seulment utilisable quand on est en mode modifier)
Je voudrais utiliser une transaction, car quand je modifie un champs et que je vais sur une autre ligne et je la modifie puis je clique sur "Annuler" ca ne change que la ligne en cours.
Le code du bouton
Pour annuler toute mes modifications j'ai pensé à utiliser les transactions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Dans mon évenment bouton Annuler
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Dim ws As DAO.Workspace Dans mon évenment bouton Modifier/ Enregistrer Set ws = Application.DBEngine.Workspaces(0) If Me.AllowEdits = False Then ws.BeginTrans Me.AllowEdits = True Me.Modifier.Caption = "Enregistrer" Me.btAnnuler.Enabled = True Me.Refresh Else ws.CommitTrans Me.AllowEdits = False Me.Modifier.Caption = "Modifier" Me.btAnnuler.Enabled = False Me.Refresh End If
Quand je clique sur le bouton Annuler il ne se passe rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Set ws = Application.DBEngine.Workspaces(0) ws.Rollback ws.BeginTrans
Merci beaucoup pour votre aide
Partager