Form.HasModule 属性 (Access)

使用 HasModule 属性可以指定或确定窗体或报表是否具有类模块。 读/写 Boolean

语法

表达式HasModule

expression:表示 Form 对象的变量。

备注

内含模块 属性使用以下设置。

Setting Visual Basic 说明
True 窗体或报表中含有类模块。
False (默认值)窗体或报表中不含类模块。

将此属性设置为 False 可提高性能并减少数据库的大小。

内含模块 属性可以设置只能在窗体或报表设计视图中,但可以在任何视图中读取。

窗体或报表的 HasModule 属性设置为否将被视为轻量对象。 轻量级对象较小,通常会加载和显示都比含有关联的类模块的对象快。 在许多情况下,窗体或报表不需要使用事件过程,并不需要类模块。

如果您的应用程序使用切换面板窗体来导航到其他窗体,而不是使用带有事件过程的命令按钮您可以使用与宏或超链接的命令按钮。 例如,若要从交换机上的命令按钮打开 “员工 ”窗体,可以将控件的 HyperlinkSubAddress 属性设置为 Form Employees。

轻型对象不会显示在对象浏览器中,并且不能使用 New 关键字创建对象的新实例。 轻量的窗体或报表可用作子窗体或子报表,会出现在 窗体报表 的集合。 从对象的属性表调用时,轻型对象支持使用标准模块中存在的宏和公共过程。

按照您尝试查看的对象模块,即使实际的模块中添加任何代码,Microsoft Access 会将 内含模块 属性设置为 True 。 例如,从“设计”视图中窗体的“视图”菜单中选择“代码”会导致 Access 将类模块添加到 Form 对象,并将其 HasModule 属性设置为 True。 您可以在对象的属性表中将 HasModule 属性设置为是类模块中添加相同的方式对象。

如果使用对象的属性表将 HasModule 属性设置为 No,或者通过使用 Visual Basic 将其设置为 False ,Access 将删除对象的类模块及其可能包含的任何代码。

使用 Module 对象的方法或在设计视图中引用窗体或报表的 Module 属性时,Access 会创建关联的模块,并将对象的 HasModule 属性设置为 True。 如果参考 Module 属性在窗体或报表在运行时间和对象都有其 内含模块 属性设置为 False ,则将发生错误。

通过使用 CreateFormCreateReport 方法创建的对象是轻量的默认情况。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。