MS Access:如何找到VBA功能的所有用法?

Tom*_*Tom 5 ms-access vba

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

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

但是,表单和报表中也使用了许多功能。有没有办法找到他们全部?有很多复杂的表格/报告,因此仅查看一个控件之后再查看另一个控件或删除该功能并测试一切是否仍然有效根本就不可行。

Hei*_*nzi 4

不幸的是,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
Run Code Online (Sandbox Code Playgroud)

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

C:\export>findstr /I "\<myFunction\>" *
Form1.frm:                    OnClick ="=myFunction()"
Run Code Online (Sandbox Code Playgroud)