VBAのフォームについて
今、悩んでいるというか、不思議に思っていることがあります。
ACCESS2003 VBAで、VBAコードでメインのフォームから、ある帳票フォームのインスタンスを作成しています。メインフォームのモジュールに以下のように記述し、
Dim 帳票1 as Form
で、ボタンのクリックイベントで、
set 帳票1 = New Form_帳票の元フォーム
とインスタンスを生成します。更に、この帳票フォームには、同様に子フォームを持っています。こちらも同様に帳票フォームモジュールに、
Dim 詳細1 as Form
として、あるボタンのクリックイベントに、
set 詳細1 = New Form_詳細フォーム
と、しています。ここで、帳票1の閉じるボタンを押しても、詳細1のフォームは、閉じません。
同様に、帳票の元フォームに
Dim 帳票2 as form
ボタンクリックで、
Set 帳票2 = New Form_帳票2の元フォーム
とします。さらに帳票2の元フォームには、
Dim Child帳票 as Form
ボタンクリックで、
Set Child帳票 = New Form_帳票2の元フォーム
としています。
これで、Child帳票は、いくつもいくつもインスタンス化されます。そこで、今までの動作に準じて、たくさんあるChild帳票の大元を閉じると、こちらは子フォームが全部閉じます。例えば10個子フォームを作って、途中を閉じるとちゃんとその子だけが閉じます。最初の例の帳票1フォームを閉じても、詳細1フォームが閉じないのと、何が違うのか分かりません。私は、フォームが閉じるときには、そのメンバクラス(フォーム)は、破壊されるものだと思っていたのですが、そうでもないようです。どなたかわかりやすく、教えていただけないでしょうか?
お礼
ありがとうございました。早速使っています。 感謝です。 m(__)m