Sha*_*kin 6 ms-access transactions
在Access中,这两个语句有什么区别?
DBEngine.BeginTrans
Run Code Online (Sandbox Code Playgroud)
和
DBEngine.Workspaces(0).BeginTrans
Run Code Online (Sandbox Code Playgroud)
两者的文档都指向同一个地方.
看看这里: DAO Workspace
然后在这里: DAO Workspace:打开一个单独的交易空间
(链接适用于MFC,但它们适用于您编写的任何内容.)
DBEngine.Workspaces(0)是默认工作区.可以创建其他工作区,使您可以使用单独的会话; 这个想法是,BeginTrans并EndTrans适用于整个工作空间,但如果你需要做的东西,事务外,你可以创建另一个工作区,并在第一工作区独立您的交易中使用它.
就个人而言,在VBA中执行DAO时,我从未有过使用多个工作区的机会.*耸肩*
我自己的回答:
看来 DBEngine.BeginTrans 和 DBEngine.Workspaces(0).BeginTrans 做了同样的事情,因为此代码有效(见下文)。“Workspaces”是DBEngine的默认成员。
Dim db As Database
Set db = CurrentDb
DBEngine.BeginTrans
db.Execute "Update Table1 SET CITY='Newark'"
DBEngine.Workspaces(0).Rollback
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6596 次 |
| 最近记录: |