次の方法で共有


Report.HasModule プロパティ (Access)

フォームまたはレポートにクラス モジュールがあるかどうかを指定または判断するには、 HasModule プロパティを使用します。 読み取り/書き込みが可能な Boolean です。

構文

HasModule

Report オブジェクトを表す変数。

注釈

"HasModule/コード保持" プロパティの設定値は次のとおりです。

Setting Visual Basic 説明
はい True フォームまたはレポートにクラス モジュールがあります。
No/いいえ False フォームまたはレポートにクラス モジュールがありません。(既定値)

このプロパティを False に設定すると、処理効率を向上させ、データベースのサイズを小さくすることができます。

" HasModule /コード保持" プロパティは、フォームのデザイン ビューまたはレポートのデザイン ビューでのみ設定でき、すべてのビューで値の取得が可能です。

" HasModule /コード保持" プロパティが [No/いいえ] に設定されたフォームまたはレポートは、軽いオブジェクトと見なされます。 軽いオブジェクトは、クラス モジュールに関連するオブジェクトよりも小さく、通常は速く読み込まれ、速く表示されます。 多くの場合、フォームまたはレポートでイベント プロシージャを使う必要はなく、クラス モジュールは必要ありません。

アプリケーション内で他のフォームに移動する目的でメニュー フォームを使う場合は、イベント プロシージャ付きのコマンド ボタンの代わりにマクロまたはハイパーリンク付きのコマンド ボタンを使うことができます。 たとえば、スイッチボードのコマンド ボタンから Employees フォームを開くには、コントロールの HyperlinkSubAddress プロパティを Form Employees に設定できます。

軽いオブジェクトはオブジェクト ブラウザーに表示されることはなく、また、オブジェクトの新規インスタンスを作成する目的でキーワード New を使うことはできません。 軽いフォームまたはレポートは、サブフォームまたはサブレポートとしても使うことができ、 Forms または Reports コレクションの中に入ります。 ライトウェイト オブジェクトは、オブジェクトのプロパティ シートから呼び出されたときに標準モジュールに存在するマクロとパブリック プロシージャの使用をサポートします。

オブジェクトのモジュールを表示しようとすると、モジュールに実際はコードがない場合でも、" HasModule /コード保持" プロパティが True に設定されます。 たとえば、デザイン ビューのフォームに対し、[ 表示 ] メニューの [ コード ] をクリックすると、 Form オブジェクトにクラス モジュールが追加され、その " HasModule /コード保持" プロパティが True に設定されます。 オブジェクトのプロパティ シートで " HasModule /コード保持" プロパティを [Yes/はい] に設定して、同じ方法でオブジェクトにクラス モジュールを追加できます。

オブジェクトのプロパティ シートを使って " HasModule /コード保持" プロパティを [No/いいえ] に設定するか、または Visual Basic で False に設定する場合、オブジェクトのクラス モジュールおよびその中のすべてのコードが削除されます。

Module オブジェクトのメソッドを使ったり、デザイン ビューでフォームまたはレポートの Module プロパティを参照したりすると、関連するモジュールが作成され、オブジェクトの " HasModule /コード保持" プロパティが True に設定されます。 実行時にフォームまたはレポートの Module プロパティを参照し、オブジェクトの " HasModule /コード保持" プロパティを False に設定した場合はエラーが発生します。

CreateForm または CreateReport メソッドを使って作成されたオブジェクトは、既定では軽いオブジェクトです。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。