使用 HasModule 屬性來指定或判斷表單或報表是否有類別模組。 可讀寫的 Boolean。
語法
表達。有模組
expression 代表 Form 物件的變數。
註解
HasModule 屬性使用下列設定值。
| 設定 | Visual Basic | 描述 |
|---|---|---|
| 是 | True | 表單或報表有類別模組 |
| 否 | False | (預設值) 表單或報表不含有類別模組 |
此屬性設 為 False 可提升效能並減少資料庫的大小。
HasModule 屬性可以設定只能在表單或報表設計檢視中,但可以在任何檢視中讀取。
HasModule 屬性設定為 [否] 之表單或報表被視為輕量級物件。 輕量級物件較小及通常載入並顯示處理速度高於物件相關聯的類別模組。 在許多情況下,表單或報表不需要使用事件程序並不需要在類別模組。
如果您的應用程式使用切換表單來瀏覽至其他表單,而不是命令按鈕使用事件程序,您可以使用命令按鈕與巨集或超連結。 例如,若要從總機上的命令按鈕開啟 [員工] 表單,您可以將控制項的 HyperlinkSubAddress 屬性設定為 [表單員工]。
輕量型物件不會出現在「物件瀏覽器」中,而且您無法使用 「新建」 關鍵字來建立物件的新例證。 輕量級表單或報表可以作為在子表單或子報表並出現在 表單 或 報表 的集合。 輕量型物件支援使用從物件屬性表呼叫時存在於標準模組中的巨集和公用程式。
當您嘗試檢視物件的模組,即使沒有任何程式碼實際上會加入至此模組 Microsoft Access 設定 HasModule 屬性設 為 True 。 例如,從設計檢視中表單的 [檢視] 功能表中選取 [程式碼],會導致 Access 將類別模組新增至 Form 物件,並將其 HasModule 屬性設定為 True。 您可以新增的類別模組物件的相同方式來將 HasModule 屬性設定為 [是] 物件的屬性表中。
如果您使用物件的屬性表將 HasModule 屬性設定為 No,或使用 Visual Basic 將它設定為 False,Access 會刪除物件的類別模組及其可能包含的任何程式碼。
當您使用 Module 物件的方法,或在「設計」檢視中參考表單或報表的 Module 屬性時,Access 會建立相關聯的模組,並將物件的 HasModule 屬性設定為 True。 如果您將在表單 模組 屬性參照或在執行階段以及物件的報告具有 HasModule 屬性設為 False ,則會發生錯誤。
使用 CreateForm 或 CreateReport 方法所建立的物件都會預設。
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。