Access VBA教程:UseTransaction属性

使用 UseTransaction属性可以指定或确定是否将操作查询作为单个事务处理来执行。在某些情况下,将该属性设为“否”能使查询执行得更快。

设置

UseTransaction属性使用以下设置:

设置 Visual Basic 说明
True (默认值)查询作为单个事务处理来执行。
False 查询不作为单个事务处理来执行。

可以通过使用查询的属性表或 Visual Basic 来设置 UseTransaction属性。若要用 Visual Basic 在Microsoft Access 数据库 (.mdb) 中设置该属性,首先必须通过使用 CreateProperty方法,将其添加到 QueryDef对象的 Properties集合中。

说明

如果生成表、删除、追加或更新查询的 UseTransaction属性设为“是”时,Microsoft Jet 数据库引擎将返回的记录保存在高速缓存中,在需要时可以将临时数据库中的结果保存到磁盘上。当查询完成时,Jet 数据库引擎将从临时数据库中读取记录,并将它们写回原始数据库。

在正确的情况下,通过将 UseTransaction属性设置为“否”可以大大提高性能。当 UseTransaction属性设为“否”时,用户不会遇到与太多锁定请求相关的问题。除此之外,Jet 数据库引擎也不会在临时数据库中保存查询的结果,因此能大大提高性能。

如果有大量的记录必须写到临时数据库中,将操作查询作为单个事务处理来执行可能会降低性能。除此之外,在共享数据库中运行删除或更新查询时,将产生大量的锁定请求,这可能引起性能降低。在某些如 Netware 的网络操作系统中,当锁定请求超过 10,000 时, 就可能会引起查询失败。

如果无法完成事务处理,则显示一条错误消息并且可以选择是否保存更改。

当 UseTransaction属性设为“否”,只有通过在 Visual Basic 中使用 ADO RollbackTrans 或 DAO Rollback方法回滚完整的处理。

上页:Access VBA教程:UserControl属性 下页:Access VBA教程:ValidationRule属性

Access VBA教程:UseTransaction属性

Access VBA教程:ValidationRule属性 Access VBA教程:ValidationText属性
Access VBA教程:Value属性 Access VBA教程:VBE属性
Access VBA教程:Verb属性 Access VBA教程:Version属性
Access VBA教程:Vertical属性 Access VBA教程:VerticalDatasheetGridlineStyle属性
Access VBA教程:ViewChange属性 Access VBA教程:ViewsAllowed属性
Access VBA教程:Visible属性 Access VBA教程:WebOptions属性
Access VBA教程:WhatsThisButton属性 Access VBA教程:Width属性
Access VBA教程:WillContinue属性 Access VBA教程:WindowHeight属性
Access VBA教程:WindowLeft属性 Access VBA教程:WindowTop属性
Access VBA教程:WindowWidth属性 Access VBA教程:Zoom属性 (Snapshot Viewer)
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号