DAOトランザクション処理
Private Sub RunSQL()
    Dim strSQL              As String
    Dim DB                  As DAO.Database
    Dim WSP                 As Workspace
    On Error GoTo Err_order
    Set WSP = DBEngine.Workspaces(0)
    Set DB = CurrentDb
    'トランザクション処理開始
    WSP.BeginTrans
    DB.Execute strSQL
   
    If DB.RecordsAffected = 0 Then
        'ロールバック処理
        WSP.Rollback
    Else
        'トランザクション処理終了
        WSP.CommitTrans
    End If
Exit_order:
    'WSP.Close は不要
    Set DB = Nothing
    Set WSP = Nothing
    Exit Sub
Err_order:
    MsgBox Err.Description
    'トランザクション処理終了(処理をなかったことにする)
    WSP.Rollback
    Resume Exit_order
End Sub