Access VBA教程:编译性能的改善

Microsoft Access 改善了模块加载和编译的性能,使代码能够以更快的速度编译并执行。

根据需要创建窗体和报表模块

在 Microsoft Access 2002 中创建窗体或报表时,窗体或报表并非自动地具有相关模块。当单击工具栏上的“代码” 查看窗体或报表的模块时,模块得以创建。也可以在窗体或报表位于“设计”视图中时,从 Visual Basic 中通过引用窗体的Module属性或将HasModule属性设为 True (-1) 来创建模块。

HasModule属性设置表明窗体或报表当前是否带有相关模块。

因为只有必须向窗体或报表模块中添加代码时才会创建模块,所以一个项目只有少数模块需要编译,因而改善了编译的性能。比起含有模块的窗体和报表,不带模块的窗体和报表加载更快。

根据需要进行编译

建议通过使用上述命令,显式地编译项目中的模块,但这并不是必须的。如果模块尚未编译,Microsoft Access 会在运行模块中的过程之前对其进行编译。

当模块被加载并执行时,Microsoft Access 先检查模块是否已经编译。如果尚未编译,Microsoft Access 会在执行其中的程序之前,立即编译模块。编译过程会减慢代码的运行速度,因此在以已编译状态保存的模块中,代码的运行速度较快。

请注意,在 Microsoft Access 95 中,当运行模块中的过程时,所有位于潜在的调用树中的模块都会被加载,虽然在默认情况下,只有在它们所包含的过程被调用时,才对它们进行编译。而在 Microsoft Access 97(或以后版本)中,只根据需要来加载模块,因此许多情况下代码将运行得更快。

通过对模块中的过程进行分组以减少不必要的编译,可以进一步提高执行的性能。应该尽可能地将模块中的过程与它们所调用的其他过程组织在一起,而不是与其他不相关的过程放在一起。

上页:Access VBA教程:新增对象 下页:Access VBA教程:新增事件

Access VBA教程:编译性能的改善

Access VBA教程:新增事件 Access VBA教程:新增方法(按字母顺序排列)
Access VBA教程:新增方法(按对象排列) Access VBA教程:新增属性(按字母顺序排列)
Access VBA教程:新增属性(按对象排列) Access VBA教程:固有常量的样式
Access VBA教程:创建部分副本 Access VBA教程:含有类模块的程序
Access VBA教程:程序工具栏和菜单栏 Access VBA教程:查询字段
Access VBA教程:报表 Access VBA教程:报表节
Access VBA教程:范围和对象命名的兼容性 Access VBA教程:设置对其他 Microsoft Access 数据库或项目中的 Visual Basic 工程的引用
Access VBA教程:设置对类型库的引用 Access VBA教程:Snapshot Viewer 控件
Access VBA教程:“排序与分组”框 Access VBA教程:字符串函数运算的差异
Access VBA教程:表 Access VBA教程:表字段
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号