我一直负责重构和扩展大型Access数据库的功能。现有的VBA代码非常糟糕,所以我想通过删除不必要的函数并简化其余部分来清理它。我想知道如何找到函数的所有用法?
至于VBA项目本身,我当然可以搜索他们的名字。至于SQL查询:我编写了一个函数,将所有查询打印到VBE的中间窗口,所以我也可以搜索它们。
但是许多功能也用在表单和报告中。有没有办法找到它们?有很多复杂的表单/报告,所以只需在另一个控件之后查看一个控件或删除函数并测试一切是否仍然有效是不可行的。
答案 0 :(得分:3)
不幸的是,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()"