Access宏在哪里调用?

时间:2013-02-15 09:43:00

标签: ms-access macros

我必须更新一个旧的大型Access应用程序,其中包含相当多的宏。 我想确定是否使用了宏,以及调用它的位置。
我找不到解决方案。我安装了MZ Tools和CSD Tools,但这些似乎没有帮助。我还尝试使用内置的documentor将表单属性打印到PDF,但不包括控件属性和事件,所以也没用。
有什么建议吗?

2 个答案:

答案 0 :(得分:2)

考虑使用内置依赖项选项。这意味着您必须启用曲目名称自动更正。但是,FEW意识到您可以打开跟踪,但不必打开自动更正。

结果是给定对象的依赖关系的美丽树视图。这是一个屏幕截图:

enter image description here

请注意,您可以通过这种方式向下钻取并“浏览”应用程序。并且依赖于所选对象的BOTH对象,或者相反的对象 - 选择的对象取决于。

并注意如何点击任何对象将在设计视图中打开它。我希望其他开发者系统拥有的可重映射功能。

请注意,如果您未启用自动正确跟踪,则第一次这会占用大量时间并进行处理,因为所有对象及其反向引用都会发生。但是,一旦为这个神奇的功能构建索引,那么响应时间和此功能的使用应该是即时的。

答案 1 :(得分:1)

感谢this link,我终于为这个问题编写了自己的快速工具:

Sub listControlEvents()
'by Patrick Honorez - www.idevlop.com --- 15-févr-2013
'Purpose   : list buttons calling macros + macro name

    Dim f As AccessObject, frm As Form, c As Control

    For Each f In CurrentProject.AllForms
        Debug.Print f.NAME
        DoCmd.OpenForm f.NAME, acDesign, , , , acHidden
        Set frm = Forms(f.NAME)
        For Each c In frm.Controls
            If c.ControlType = acCommandButton Then
                If c.Properties("OnCLick") <> "[Event Procedure]" Then
                    Debug.Print , c.NAME,
                    Debug.Print c.Properties("OnClick")
                End If
            End If
        Next c
        DoCmd.Close acForm, f.NAME, acSaveNo
    Next f
End Sub