フォームから別のフォームを開く際に引数を渡す方法 Docmd.OpenForm フォーム名 , ビュー , フィルタ名 , フィルタ条件式 , データモード , 表示モード , OpenArgs 第1引数:フォーム名 ※文字列で指定する場合にはダブルクォーテーションで囲む 1.元のフォーム側のOpenFormメソッドにて、渡したい引数を7番目の位置に記述 ▼記述例_元フォーム(開く側)▼
Docmdオブジェクトの【Open】メソッドのおさらい
OpenFormメソッドの書式
OpenFormメソッドの引数
第2引数:ビュー acDesign / acFormDS / acNormal / acPreview
第3引数:フィルタ名 ※抽出条件を指定
第4引数:フィルタ条件式 ※抽出するWhere条件式を指定
第5引数:データモード acFormAdd / acFormEdit / acFormPropertySettings / acFormReadOnly
第6引数:表示モード acDialog / acHidden / acIcon / acWindowNormal
第7引数:OpenArgs
▼よくわかる参考記事▼
Access VBA入門:DoCmd.OpenFormの使い方と引数とパラメータの説明|商品マスターフォームを開く第7引数【OpenArgs】で引数を渡す方法
2.渡した側のフォームにて【OpenArgs】プロパティから値を取得するPrivate Sub btn1_Click() 'フォーム「F_KEN_ALL1」のフォームモジュールに記載
Docmd.OpenForm "F_KEN_ALL2",,,,,acWindowNormal,Screen.ActiveControl.Name '現在アクティブなフォームの名前を引数に指定
End Sub
▼記述例_現フォーム(開かれる側)▼Private Sub Form_Open(Cancel As Integer) 'フォーム「F_KEN_ALL2」のフォームモジュールに記載
Me.Label1.Caption = Me.OpenArgs
End Sub
本記事の関連記事は以下
▼フォームの操作その1_フォームから別のフォームを開閉▼
tama-shi.hatenadiary.com