2017-05-26 94 views
0

我有一个很多按钮的窗体。 大多数按钮都具有.TAG场,我确定它们的功能(数字字段)访问VBA:许多CommandButton执行相同的代码

每一个按钮,点击后,应执行相同的代码,该.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事件。
您可以通过多次选择所有按钮然后设置属性来一次完成此操作。