【问题标题】:One-to-One Relationship Tables not Linked一对一关系表未链接
【发布时间】:2017-06-08 17:27:11
【问题描述】:

我在 MS Access 中的一对一关系表没有链接,因为当我更新另一个更新时。这应该发生吗?如果我手动更新链接的一个表,它包含来自父表的数据,但在我更新父表时它没有这样做。有没有办法自动完成这项工作?还是我必须单独添加每一行? (顺便说一句,到目前为止有 19,000 多条记录)

【问题讨论】:

  • 您的意思是启用级联更新? support.office.com/en-us/article/… ... Access 支持“级联更新相关字段”选项。当您强制执行参照完整性并选择“级联更新相关字段”选项,然后更新主键时,Access 会自动更新所有引用主键的字段....youtube.com/watch?v=B6mLVHXM7g4
  • 这应该发生吗?默认情况下不是。 有没有办法自动完成这项工作?是的,右键单击关系并强制引用完整性,然后启用级联更新
  • 我假设一个表是 PK,另一个是 FK,在 FK 上具有唯一约束/索引,使其成为 1-1 关系。,

标签: database ms-access


【解决方案1】:

我猜您误解了 Access 中的关系工作方式。 我也猜你使用了关系经理。 它有什么作用?它告诉 Access 最好在子表单中显示哪些表,而子表中仅列出一项功能,但它绝对不会同步这些表。

如果要同步 1to1 关系中的表,请确保每个表中的链接字段都是唯一的(索引),编写查询以同步表(猜测查询向导有一个模板)。 如果您想单独同步项目,您也可以编写宏或使用表单。

总之:你需要自己做同步。

另一方面,如果你真的想同步数据并且是一对一的关系,那为什么要将数据拆分到两个表上呢?

HTH,Y。

【讨论】:

  • 总而言之:您需要自己进行同步。 如果您强制执行了参照完整性,级联更新将执行此操作。
  • @xQbert,希望学习新知识,因此立即在 Access 2013 中尝试了您的建议。无法看到上述问题中请求的同步。链接字段已同步,但未在链接表中创建记录。
  • 问题提到了在链接表中创建记录的注意事项;仅当更新 PK 时,会更新包含该键作为不同表中的外键的表。观看 youtube 视频。它准确地显示了父 PK 从 1 更新到 101 并且子记录 FK 也自动更新为 101 的情况。但老实说,为什么要改变PK?它永远不应该暴露给用户,我无法想象我为什么需要以这种方式更新 PK。
  • 可能是我误读了“或者我必须单独添加每一行吗?(顺便说一句,到目前为止有 19,000 多条记录)”?
  • “但老实说,为什么要更改 PK?它永远不应该暴露给用户,我无法想象我为什么需要以这种方式更新 PK。”这就是为什么我问一张桌子是否更有意义。干杯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 2018-01-29
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2016-02-11
相关资源
最近更新 更多