Search code examples
ms-accesstransactions

Difference between DBEngine.BeginTrans and DBEngine.Workspaces(0).BeginTrans


In Access, what is the difference between these two statements?

DBEngine.BeginTrans

and

DBEngine.Workspaces(0).BeginTrans

The documentation for both leads to the same place.


Solution

  • My own answer:

    It appears that DBEngine.BeginTrans and DBEngine.Workspaces(0).BeginTrans do the same thing because this code works (see below). "Workspaces" is the default member of DBEngine.

    Dim db As Database
    Set db = CurrentDb
    
    DBEngine.BeginTrans
    db.Execute "Update Table1 SET CITY='Newark'"
    DBEngine.Workspaces(0).Rollback