【问题标题】:MS Access: How to find all usages of a VBA function?MS Access:如何找到 VBA 函数的所有用法?
【发布时间】:2013-01-31 08:23:28
【问题描述】:

我负责重构和扩展大型 Access 数据库的功能。现有的 VBA 代码非常糟糕,所以我想通过删除不必要的函数并简化其余部分来清理它。我想知道如何找到函数的所有用法?

至于VBA项目本身,我当然可以搜索他们的名字。至于 SQL 查询:我编写了一个函数,它将所有查询打印到 VBE 的中间窗口,所以我也可以搜索它们。

但许多函数也用于表单和报表。有没有办法全部找到?有很多复杂的表单/报告,因此简单地查看一个又一个控件或删除功能并测试一切是否仍然有效是根本不可行的。

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    不幸的是,Access 中没有搜索功能(据我所知),其中包括表单和报表属性。

    但是,有一个未记录的方法SaveAsText 将表单和报告复制到文本文件中。如果您提取所有表单和报告...

    Dim db As Database
    Dim d As Document
    
    Set db = CurrentDb()
    For Each d In db.Containers("Forms").Documents
        Application.SaveAsText acForm, d.Name, "C:\export\" & d.Name & ".frm"
    Next
    
    For Each d In db.Containers("Reports").Documents
        Application.SaveAsText acReport, d.Name, "C:\export\" & d.Name & ".rpt"
    Next
    

    ...您可以使用“常规”文本搜索工具(例如 Windows 中包含的findstr)来查找某些单词的出现:

    C:\export>findstr /I "\<myFunction\>" *
    Form1.frm:                    OnClick ="=myFunction()"
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 2021-10-06
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多