【问题标题】:MS Access data lineage documentationMS Access 数据沿袭文档
【发布时间】:2015-02-03 02:47:57
【问题描述】:

我正在寻找一种脚本化/自动化方式(大概是 VBA?)来获取 Access 查询并生成某种关于数据沿袭的可保存、可搜索、可发布的文档。因此,如果有一堆分层/嵌套查询,甚至是直通查询,我想要一种方法来追溯指定查询中的最终 fields 直到我回到原始源表/字段。

我发现的所有内容似乎都是专注于如何配置表关系的数据库文档。我正在寻找一种方法来获取用户创建部分的文档,直至现场。我对输出的格式持开放态度。我相信这一定是可能的,但还没有运气。

如果第三方应用程序可以做到这一点,我也愿意接受建议。

提前致谢!

【问题讨论】:

  • 如果您可以发布一个您希望此工具能够处理的查询类型的示例,这可能会有所帮助
  • 我认为试图跟踪特定字段的历史将很难以编程方式处理。您不仅有必须跟踪的嵌套查询的问题,而且在每个查询中,您可以做很多事情来更改字段 - 包括但不限于重命名它,使用公式更改值,在 iif 语句中使用或更改它,...。除了手动记录每个查询中发生的情况外,我不知道您将如何解决所有问题。但祝你好运 - 我很想看看你是否有更好的建议。

标签: ms-access vba ms-access-2010


【解决方案1】:

Access 确实具有内置的“依赖”功能。结果是这些依赖项的非常好的树形视图,您甚至可以使用应用程序的树形视图启动此类对象,从而“导航”应用程序。

该选项位于数据库工具下,被恰当地称为对象依赖项。

结果如下:

虽然您不想使用自动更正,但此功能会强制更改曲目。如果这是一个大型应用程序,那么在第一次运行时会出现明显的延迟。之后,可以立即查看结果。如前所述,您不仅有分层树视图,而且可以单击树视图中的对象来启动相关对象。

以上内容适用于基于查询等的查询,一直到基表。

【讨论】:

  • re:“虽然您不想使用自动更正” - 我记得几年前有过关于确保关闭“自动更正”的广泛讨论,但在当前版本的 Access 中似乎不止一种选择。听起来上述过程将启用“跟踪名称自动更正信息”,这没关系,但仍应避免“执行名称自动更正”。这是一个公平的说法吗?
  • +1 Gord - 音轨名称通常不是问题,但执行自动更正即可。我想有些用户确实从自动更正中受益,但我倾向于避免使用该功能。
  • 抛开自动更正设置不谈,这并不是我的想法。我已经更新了我原来的帖子,希望能更清楚。但是感谢您的回复!
【解决方案2】:

https://www.dropbox.com/sh/f73rs3h9u9q2xk5/AAArloN_Cmf_WbPZ4W75I6KVa?dl=0

这是我为提供您正在寻找的文档而编写的一组查询。这似乎有点笨拙,但它对我有用。它不像其他响应那样简单,但它提供了可以合并到其他文档中的输出。

注意 - 与 Union 查询相关的文档已过期。我必须分析 Union 查询的查询似乎只选择了进入 Union 的前两件事,因此我将其更改为 Make Table 查询,并手动编辑结果表以添加缺失的关系。

使用查询:

  1. 将表和所有查询复制到您的数据库中

  2. 运行“Mapping Unions Make Table”查询

  3. 必要时手动编辑联合表

当您运行 3 个主要输出查询中的任何一个时,系统会提示您输入要分析的 Top 对象。输入查询或表的名称以查找该对象的所有依赖项。三个主要输出是:

  1. 映射摘要 - 列出进入顶部对象的所有对象以及进入其中的所有对象,深度约为 10(深度在“映射所有父项”查询中控制)

  2. 不重复的映射摘要

  3. 映射摘要重复

我特别喜欢第二个输出 - 这是一种可以保存在 Excel 中并输入到 Visio 的组织图表向导的格式,以获得关系的简单图形表示。然后,第三个输出查询可用于手动添加进入多个其他查询的查询,而 Visio 的向导无法处理。

【讨论】:

  • 我还没有机会尝试您的查询,但这是否涉及文档中的 fields? (更新了我的帖子,希望能更好地解释我的需求。)无论如何,对于其他目的可能仍然很方便。
  • no - 这给出了所有查询和表的映射,但不处理单个字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多