使用 HasModule 属性可以指定或确定窗体或报表是否含有类模块。将该属性设置为“否”可改进性能,并减少数据库的大小。Boolean 型,可读写。
expression.HasModule
expression 必需。返回“应用于”列表中的一个对象的表达式。
HasModule 属性使用以下设置:
设置 |
Visual Basic |
说明 |
是 |
True |
窗体或报表中含有类模块。 |
否 |
False |
(默认值)窗体或报表中不含类模块。 |
注释 使用窗体或报表的属性表、宏或 Visual Basic 可以设置 HasModule 属性。
HasModule 属性仅能在窗体或报表“设计”视图中进行设置,但可以在任何视图中读取。
HasModule 属性设置为“否”的窗体或报表将视为轻量级对象。轻量级对象较小,通常,其加载和显示都比含有关联类模块的对象快。在多数情况下,窗体或报表不需要使用事件过程,也不需要类模块。
如果应用程序使用切换面板来浏览其他窗体,可以使用带有宏的命令按钮或超链接,而不是使用带有事件过程的命令按钮。例如,如果要用切换面板上的命令按钮来打开“雇员”窗体,可以将控件的 HyperlinkSubAddress 属性设为“Form 雇员”。
轻量级对象不显示在“对象浏览器”中,不能使用 New 关键字来创建对象的实例。轻量级窗体或报表可以用作子窗体或子报表,并显示在 Forms 或 Reports 集合内。轻量级对象支持宏和公用过程的使用,公用过程保存在标准模块中,从对象的属性表中可以调用。
在查看对象的模块时,Microsoft Access 将 HasModule 属性设置为 True,此时代码实际上还没有添加到模块内。例如,从“设计”视图的窗体“视图”菜单中选择“代码”命令可以将一个类模块添加到 Form 对象中,并将 HasModule 属性设置为 True。通过在对象的属性表中将“内含模块”属性设置为“是”,可以用同样的方法将类模块添加到对象中。
警告 如果通过对象的属性表将 HasModule 属性设为“否”,或通过 Visual Basic 将它设为 False,Microsoft Access 将删除对象的类模块及其包含的所有代码。
当使用 Module 对象的某个方法或在“设计”视图中引用某窗体或报表的 Module 属性时,Microsoft Access 将创建关联的模块,并将对象的 HasModule 属性设置为 True。如果在运行时引用窗体或报表的 Module 属性,并且对象的 HasModule 属性设置为 False 时,将出现错误。