MS Access:如何找到表,查询,宏等的使用位置?

时间:2009-05-25 14:25:40

标签: ms-access

我们继承了一个名为NewTable,Subform或Macro1等名称很好的MS Access数据库/应用程序(Office 2002)。不幸的是,当我们将这些名称更改为更有意义的名称时,引用(在其他查询,表单或操作中)不会更新。

我们如何找出特定对象的使用位置?

6 个答案:

答案 0 :(得分:9)

MsAccess有一个OBJECT DEPENDENCIES检查器。例如,在Access 2007中,您必须:

  1. 点击对象(例如表格);
  2. 点击DATABASE TOOLS标签;
  3. 点击OBJECT DEPENDENCIES(如果要求更新依赖关系信息,请单击是)
  4. this whitepage详细说明了该过程,并建议您可能采取的其他步骤。

    在访问2003和2000中,流程略有不同,因为界面从2007年开始发生了显着变化

    Object Dependency in Access 2003

答案 1 :(得分:8)

您可以检查系统表,MSysObjects和MSysQueries以获取对表和查询的引用(您也可以检查querydefs的sql字符串)。您可以遍历表单和报表的属性及其控件,以引用表,查询和宏。您可以搜索代码。

通常不推荐使用名称更改自动更正选项,但它可能在这里有一个位置。

答案 2 :(得分:5)

我发现ACCESS Dependency Checker是免费的Microsoft Access Add-In,它揭示了数据库对象之间的依赖关系,例如表格,查询,宏等。我已经安装了它,并且满足了我的需求。试试吧。

答案 3 :(得分:2)

如果您在某处安装了Access 2003:可以选择列出所有依赖项。只需右键单击一个对象并选择Object Dependencies(我不确定翻译,我这里有荷兰语版本)。

这将显示两个方向的依赖关系。

在Access 2003中打开数据库后,您仍然可以在Access 2002中使用它。如果您不确定,可以随时创建备份副本。

答案 4 :(得分:2)

可以帮助您完成大部分工作的共享软件工具是Rick Fisher's Find and Replace。它有30天的试用期,注册费用为30美元。

另一个功能更全面的工具是Black Moshannon's Speed Ferret。这是一个非常优秀的产品,虽然相对昂贵(170美元)。这也是一个相当棘手的问题,因为它们从未发布过Access 2003或2007的原生版本。但是在你处理2002年时,你在这方面很幸运。

如果你真的想快速做到这一点,Speed Ferret肯定物有所值。考虑您的小时费率,任何重要项目都会在您第一次使用时收回成本。

Rick Fisher的工具不那么专业,功能也不全面,但可能足以满足您的需求。我只测试过它,从未在一个成熟的项目中使用它。

答案 5 :(得分:1)

有一个小的加载项,免费且有用vtools,除了其他可能性之外,还特别允许您在所有访问对象(表,查询,代码,表单......)中搜索值