在Microsoft Access“应用程序”中搜索字段引用

12

我继承了一个 MS Access 应用程序,想要追踪一个字段的所有引用。

是否有一种方法可以搜索该字段(所有谷歌搜索结果都是针对查询表格的)。

注意:我不需要任何 SQL 帮助,我想要类似于 Visual Studio 右键单击 -> 查找所有引用的功能。


在你的第一段中,“引用”是在Access中使用的一个不好的术语,因为它还表示对外部库和ActiveX控件的引用。最好使用短语“搜索所有字段的用法”或类似的内容。 - Tony Toews
5个回答

26
  1. 进入 "工具" > "分析" > "文档生成器"
  2. 在所有分类中选择 "全部"
  3. 在选项下,确保 "代码" 已被选中(应该是默认的)
  4. 运行文档生成器报告
  5. 导出为 .rtf 或其他文本格式
  6. 搜索你的字段名称

这是一个好方法,因为它快速、免费且完整。

别名以各种形式暴露出来:

  • 查询中的标准 SQL 别名
  • 表字段的 CaptionDescription 属性的使用。

它捕捉到了 Access 对象和 VBA 的交集:

  • VBA 中被查询对象调用的用户函数。
  • 从控件的 Tag 属性中使用值的 VBA。

一些额外的提示:

  • 如果文档生成器提供的除了对象名称之外的所有信息,那么它可能无法处理长文件路径。将你的工作移到 C 盘附近,这样文件路径会更短,然后再次运行文档生成器。
  • 当然,如果数据库链接到外部数据,你必须处理这些链接!如果是 Access 数据库,你可以将报告合并为一个。
  • Access 文档生成器不会显示对象说明,如通过导航窗格访问。对象说明允许你附加一些文本到一个对象上。它曾经很方便地提供设计评论,但自从 2007 版本以来它几乎没有用处。老实说,我不会担心它,因为它自然而然地不再被使用;但它在文档生成器中的遗漏是愚蠢和令人悲伤的。

3
注意第二步,在Access 2010中有一个名为“所有对象类型”的选项卡,似乎包含了其他选项卡的所有内容。在找到这个选项卡之前,我浏览了每个其他选项卡并选择了全部内容。 - James Skemp
非常感谢,非常棒的提示! - Lionel T.

3

1

0
在我的AccdbMerge实用程序中,有一个查找工具可以搜索所有加载的对象定义中的文本。尽管这是一个差异和合并工具,但即使您只打开一个文件,此功能也将起作用,并且在免费版本中可用,可以搜索表、查询、宏、窗体、报表和模块中的内容。

-1

你也可以不使用任何外部工具来实现这个功能。MS Access 有一个选项可以显示所有的引用。您可以通过右键单击表格并选择相应的菜单选项来完成。

然而,一些人在使用此选项时可能会遇到问题,所以最好的做法可能是复制数据库并在其中打开该选项。(或者在获得所需结果后关闭它)。


1
你指的是对象依赖关系。是的,虽然它已经改进了很多,但是有过不好的经历。然而,这并不能在VBA代码中找到任何字段名。 - Tony Toews
1
在http://allenbrowne.com/bug-03.html可以找到有关对象依赖性问题的良好调查。虽然我经常在Access 2003中用于小任务,但“跟踪名称自动更正”启用了该功能,问题似乎来自超出该选项的选项:“执行名称自动更正”。最近我关闭了两者,因为我担心速度。我喜欢“制作副本”的建议。 - Smandoli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接