- ベストアンサー
画面のフィールドの値を共通処理関数で読み書きしたい
Access2013 VBAで、現在システムを開発しているところですが、 フォーム上の帳票のボタンを押した時の処理が、複数の画面で共通なので共通処理として使用したいと考えていますが、その時に、画面のフィールドの名前を変数に変えてどのように画面のフィールドに値をセットすればよいでしょうか。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
【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
お礼
ありがとうございます。 自分のソースを修正して実行したら簡単に出来ました。 また、よろしくお願いします。