フォームやレポート内に設定したサブフォームやサブレポートを参照する場合の記述例
(Formのあとの「s」のつくつかないでひっかけ問題みたいになるのだろうなぁ…)
サブフォーム / サブレポートとは
以下の記事がとても分かりやすい、メインフォーム・サブフォームは
テーブルが1対多のリレーションシップが設定されている場合に作成できるんだって、しらなんだ
▼よくわかる記事▼
Accessのフォームのメイン/サブフォームとは | できるネット
▼リレーションシップについて解説した過去記事▼
tama-shi.hatenadiary.com
サブフォーム名_サブフォームコントロールの名前、「名前」プロパティの設定値
※サブフォームコントロールの名前とサブフォーム自体の名前が一緒とは限らない
メインのモジュールからサブを参照
オブジェクトの参照:
Me. サブフォーム名 . Form . メソッドorプロパティ
Me. サブフォーム名 . Report . メソッドorプロパティ
コントロールの参照:
Me . サブフォーム名 . Form . コントロール . メソッドorプロパティ
Me . サブフォーム名 . Report . コントロール . メソッドorプロパティ
※「Me.」は省略してもOK
メイン以外のモジュールからサブを参照
オブジェクトの参照:
・Forms("フォーム名") . サブフォーム名 . Form . メソッドorプロパティ
・Reports("フォーム名") . サブフォーム名 . Report . メソッドorプロパティ
コントロールの参照:
・Forms("フォーム名") . サブフォーム名 . Form . コントロール名 . メソッドorプロパティ
・Reports("フォーム名") . サブフォーム名 . Report . コントロール名 . メソッドorプロパティ
※フォーム・サポート名にスペースが含まれる場合には必ず「""」「[]」のどちらかで囲む
サブからメインを参照
【Parent】プロパティを使用、指定したオブジェクトの親オブジェクトを返すプロパティ
※以下の場合「Me」は、サブフォーム / レポートを指す
オブジェクトの参照:
Me . Parent . メソッドorプロパティ
コントロールの参照:
Me . Parent . コントロール名 . メソッドorプロパティ
【記述例】メインフォームとサブフォームをお互いに参照
メインフォームとサブフォームにそれぞれ設置したボタンを押すとLabelのキャプションが更新されるようにしてみる
▼サブフォームからメインフォームを参照▼
Private Sub btn1_Click() 'サブフォームのコントロール「ボタン1」に記述 Me.lbl1.Caption = "サブだけどなに?" Me.Parent.lbl1.Caption = "メインさんいる?" 'メインを参照 End Sub
▼メインフォームからサブフォーム「subF」を参照▼
Private Sub btn1_Click() 'メインフォームのコントロール「ボタン1」に記述 Me.lbl1.Caption = "なぁにわたしはメイン" Me.subF.Form.lbl1Caption = "おいサブ" 'サブを参照 End Sub