使用链接表强制引用完整性

使用链接表强制引用完整性

我目前正在构建和维护一些 MS Access 数据库,旨在取代我工作中的纸质文档系统。作为这项工作的一部分,我使用简单的用户名/密码组合代替文档上的签名,并希望在所有文档之间保持用户名/密码组合的通用性,为此,我创建了一个单独的数据库,其中包含只是所有不同文档所共有的用户信息。

但是对于每个文档数据库,我希望有一个“权限”表,其中包含一组“是/否”字段,定义用户对该特定文档拥有哪些权限,显然我希望在权限表和用户表之间保持引用完整性。所有相关数据库都存储在共享驱动器上。

起初我认为在 WhateverDoc.mdb 中我可以链接到 Users.mdb 中的 tblUsers 表,然后在 tblUsers 和 tblPermissions 的用户名字段之间创建一对一关系,但似乎当我与链接表创建关系时,我无法强制引用完整性。

有解决方法吗?我愿意接受涉及 VBA 的解决方案,但我想在这里提问,而不是在 StackOverflow 上提问,因为具体来说一个编程问题。

答案1

我目前正在使用的解决方案:

在 tblPermissions 的表设计中,选择用户字段,然后在字段选项的查找选项卡中设置以下选项。

Display Control: Combo Box
Row Source Type: Table/Query
Row Source: SELECT Username FROM tblUsers;
Limit To List: Yes

由于相应行源的“限制列表”选项设置为“是”,因此这可以防止 tblPermissions 中的“用户”字段包含 tblUsers 的“用户名”字段中不存在的值。

答案2

创建一个包含所有表格的后端数据库,并在该数据库上建立关系。然后将后端的所有表格链接到包含所有表单、查询和代码的前端数据库。

相关内容