Hallo,
Aber deine idee ist denk ich mal schon richtig, but...
Naja, ich denke mal, das Workspace-Objekt muss erhalten bleiben, also irgendwie global definiert werden. Allerdings gibt es da ja offensichtlich eine Auflistung, zu der Du es hinzufügts. Probiers doch mal so:
Private Sub Form_Load()
Set wrkODBC = CreateWorkspace("ODBCWorkspace", "cdb", _
"usr", dbUseODBC)
Workspaces.Append wrkODBC
DefaultType = dbUseJet
wrkODBC.BeginTrans
End Sub
Hier wurde der Auflistung Workspaces der Workspace mit dem Namen "ODBCWorkspace" hinzugefügt. Dieser hat eine Transaktion begonnen.
Private Sub cmdUndo_Click()
Set wrkODBC = Workspaces("ODBCWorkspace")
wrkODBC.Rollback
End Sub
Hier wird der Workspace wieder aus der Auflistung gelesen. Das sollte dann ja noch der selbe sein.
viele Grüße
Axel