質問: 画面のフィールドの値を共通処理関数で読み書きしたい access2013 vbaで、現在システムを開発しているところですが、 フォーム上の帳票のボタンを押した時の処理が、複数の画面で共通なので共通処理として使用したいと考えていますが、その時に、画面のフィールドの名前を変数に変えてどのように画面のフィールドに値をセットすればよいでしょうか。 よろしくお願いします。
回答: 【module1】 'グローバル変数の宣言 'フォームの名前 public strfrm as string 'テキストボックスの名前 public strtxt as string '共通関数 public sub myfunc() 'テキストボックスに値をセットする為にテキストボックスにフォーカスをセット forms(strfrm)(strtxt).setfocus 'テキストボックスに値をセット forms(strfrm)(strtxt).text = strfrm & "+" & strtxt end sub 【form1】 private sub コマンド1_click() 'フォームを指定する変数に自分の名前をセット strfrm = me.name '値をセットするテキストボックスに名前をセット strtxt = "テキスト1" '共通関数呼出 myfunc end sub 【form2】 private sub コマンド2_click() 'フォームを指定する変数に自分の名前をセット strfrm = me.name '値をセットするテキストボックスに名前をセット strtxt = "テキスト3" '共通関数呼出 myfunc end sub