<<< 返回 access911.net 编程静态资料库索引页

docmd.runsql 语句执行的操作查询如何回滚?

 

作者:MS & cg1  摘自:access911.net  录入:cg1  时间:2004-6-11  浏览人次:1904


专题地址:http://access911.net/fixhtm/71FABE1E14DCEDF3.htm 如果需要更详细的评论或说明,请点击该地址。

 

简述:docmd.runsql 语句执行的操作查询如何回滚?

 


问题:

docmd.runsql 语句执行的操作查询如何回滚?

 

回答:

希望通过Docmd.RUNSQL实现事务的回滚(RollBack)操作

很遗憾的说,Access无法法通过Docmd.RUNSQL来实现事务的回滚。的确,在Docmd.runsql的语句操作的帮助中,有一个选项是UseTransaction。这个选项的是用来确认是否对该语句进行事务性的操作。如果选择True(默认为True),那么所有的操作都将被当作是一个单独的原子操作来对数据库进行操作;如果选择是False,那么操作将不会被当作事务(在多用户的情况下可能会出现Dirty Read)的情况。但是这些事务都是在内部完成的,我们无法显示的通过申明commit或者rollback来控制其操作。

根据我的经验,ACCESS也无法通过Docmd.OPENQUERY来完成类似的事务显示操作。如果大家希望实现事务的操作,唯一的用法就是通过WorkSpaceObject.BeginTrans来实现。在Access VBA的帮助文件中,大家可以找到如下的示例:
'BeginBeginTransVB

    'To integrate this code
    'replace the data source and initial .....................
...........

资料库随时有更新,欲查看最新详情请单击专题地址http://access911.net/fixhtm/71FABE1E14DCEDF3.htm

 


上一篇:如何建立IP地址库并加以搜索?

下一篇:在Pocket PC 2002 上是否有 ACCESS 软件可以使用?

2017年2月22日生成静态资料