0

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

4

2 回答 2

2

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

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

在此处输入图像描述

请注意,您可以通过这种方式深入了解并“浏览”应用程序。和 BOTH 对象都依赖于选定的对象,或者相反——选定的对象依赖于哪些对象。

并注意单击任何对象将如何在设计视图中打开它。我希望其他开发系统也有一个令人难以置信的功能。

请注意,如果您没有打开自动更正跟踪,那么第一次这可能会花费大量时间和处理,因为所有对象及其反向引用都会发生。然而,一旦为这个惊人的特性建立了索引,那么响应时间和这个特性的使用应该几乎是即时的。

于 2013-02-16T23:37:22.217 回答
1

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

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
于 2013-02-15T10:19:08.077 回答