транзакции в MS Access - PullRequest
2 голосов
/ 13 мая 2010

Допустим, у меня есть следующий код в форме, который вызывается при каком-либо событии щелчка.

DoCmd.SetWarnings False
DoCmd.OpenQuery "AddSomeStuff"
DoCmd.OpenQuery "UpdateSomeOtherStuff"
DoCmd.OpenQuery "DeleteABunchOfCrap"
DoCmd.SetWarnings True

Можно ли предположить, что три запроса на обновление, которые я выполнил (в SQL Server), не являются транзакционными, поскольку они выполняются как отдельные транзакции?

Ответы [ 2 ]

0 голосов
/ 14 мая 2010

Access может иметь транзакции, если необходимо, однако вы правы в своем коде, каждая транзакция будет выполняться самостоятельно. В любом случае вот небольшой пример кода

Public Sub Foo()
Dim wrk As Workspace
Dim db As DAO.Database
On Error GoTo Error_trap
Set wrk = DBEngine(0)(0)
Set db = wrk.OpenDatabase("mydb.mdb")
wrk.BeginTrans
    db.Execute "AddStuff"
    db.Execute "DeleteStuff"
    db.Execute "UpdateStuff"
wrk.CommitTrans
db.Close
wrk.Close
Set db = Nothing
wt wrk = Nothing
Exit Sub

Error_trap:
wrk.Rollback
MsgBox "Something went wrong!"

End Sub
0 голосов
/ 13 мая 2010

Да, они будут выполняться в отдельных транзакциях.

...