在VBA中的其他按钮单击事件中使用按钮单击事件处理程序

时间:2017-07-27 15:09:26

标签: excel vba user-interface ms-access

是否可以在VBA中的按钮单击事件功能中处理按钮单击?我想迭代访问数据库表中的记录,找到类似的记录,向用户显示这些类似记录中的两个,然后让他们单击一个按钮来选择其中一个记录。

考虑这个伪代码:

 Sub Choose_Click()
   For (loop through DB recordset)
       Label1 = Record1
       Label2 = Record2
       Listen for button click
       If (Click Button1)
          Choose Record1
          do something
       ElseIf (Click Button2)
          Choose Record2  
          do something

2 个答案:

答案 0 :(得分:1)

我会使用MsgBox。显示两条记录后,执行此操作。

Response = MsgBox("Process Record 1? No=Process Record 2",VbYesNo+vBDefaultButton1,vBQuestion,"Process records")
If Response = vbYes Then
    Do stuff here
Else
    Do stuff here
End If

或创建我自己的对话框以执行相同的操作,但使用记录1和记录2的按钮

答案 1 :(得分:0)

以下是如何在功能中实现按钮点击事件的示例 我使用全局变量解决了这个问题,如@Rob Anthony的评论所示。当宏运行时,它等待全局变量值import {AgGridModule} from "ag-grid-angular/main";更改,这表示单击了一个按钮(在我的情况下,已做出选择)。如果您想要指示的是单击按钮(任何按钮),则布尔值会更好,但此解决方案还指示单击了哪个按钮。 ButtonClicked的值由分配给选择按钮的各个单击事件宏填充。

ButtonClicked