Access 2010:哪种表单控件触发宏?

我正在处理遗留数据库。具体而言,更改报告。我已经确定了报告基于的查询/表格。其中一张桌子具有作为由多个数十个宏的宏生成的临时表的所有特征。

我已经能够识别生成表和运行查询的宏的附加查询。现在我想找到哪个表单事件触发了这个宏。它每次生成报告时运行一次,还是每周一次或每季度一次或... 在打印报告的“按钮”后面的宏中没有任何内容,报告中也没有触发事件。

我可以遍历每种形式的每一个控件,但是我在寻找什么样的属性? 任何指针/关键词指导将不胜感激,谢谢。

0
额外 编辑
意见: 1
前者在宏选项卡上。有很少的vba,只在少数Form模块中使用。看起来好像以前的一个维护人员对他们有好感。
额外 作者 wfsp,
当你说宏时,你的意思是在宏选项卡上保存了各种宏,还是你的意思是VBA代码保存在模块中?
额外 作者 Fionnuala,
我想你应该能够在命令按钮的点击事件中查找宏名称。
额外 作者 Fionnuala,

1 答案

有些笔记,当你有宏的名字时,它会更容易找到相关的按钮:

Sub FindMacros()
For Each f In CurrentProject.AllForms
    DoCmd.OpenForm f.Name, acDesign

    Set frm = Forms(f.Name)
    For Each ctl In frm.Controls
        If ctl.ControlType = acCommandButton Then
            Debug.Print ctl.OnClick
        End If
    Next

    DoCmd.Close acForm, f.Name, acSaveNo
Next
End Sub
0
额外
现货,非常感谢。我现在知道哪个按钮在哪个表格上,正是我之后的。再次,非常感谢。
额外 作者 wfsp,
@MattDonnan也可用于构建控件。您可以将各种事件设置为标准函数,例如事件行上的 = AFunction([Form])将会将当前表单对象传递给函数。
额外 作者 Fionnuala,
+1漂亮的小程序^ _ ^
额外 作者 Matt Donnan,