2017-05-26 6 views
0

多くのボタンを持つフォームがあります。 は、これらのボタンのほとんどは、関数に.TAG値を渡して、同じコードを実行する必要があり、私はクリックで、その機能(数値フィールド)VBAにアクセス:多くのコマンドボタンが同じコードを実行

すべてのボタンを識別.TAGフィールドを持っている:

Private Sub CtlNameA_Click() 
    Call WriteTimbraIN(CInt(CtlNameA.tag)) 
    DoCmd.Close 
End Sub 

すべてのボタンに同じコード(コントロール名を除く)を記述することなく、よりスマートな方法がありますか?

おかげ

答えて

2

あなたが直接、ボタンのクリックイベントからフォームモジュールから関数を呼び出し、呼び出しボタンを決定するためにScreen.ActiveControlを使用することができます。

Private Function GenericButton() 

    Debug.Print "Called from " & Screen.ActiveControl.Name 

    Call WriteTimbraIN(CInt(Screen.ActiveControl.Tag)) 
    DoCmd.Close 

End Function 

そして、=GenericButton()をOnClickイベントとして割り当てます。
これは、すべてのボタンを複数選択してプロパティを設定することで、一度に行うことができます。

関連する問題