0

我在设计我的 Access 数据库时遇到了一个问题。

我是一名护理人员,我的部分工作是带客户进入社区。我正在尝试建立一个郊游目录,以帮助我们公司的员工提出并存储这些想法。我想为客户可以在一个位置执行的最多 5 种类型的事件中的每一种存储信息。该信息包括事件类型、运行时间和不运行时间以及费用多少,所有这些都是用户可选择的。(分别在同一个表中,我想包括联系信息和帮助用户搜索事件位置的信息,例如邮政编码。)我试图通过在主表中的字段之间传播事件信息来规范化数据库,链接查找表。我知道 Access每个表的关系限制为 32 个

为了帮助员工找到事件类型,我正在尝试建立一种对它们进行分类的方法。这需要设置嵌套查找表,如第一张图片所示。 如果我理解正确,这些查找表的附加“副本”是别名。当我保存这些别名查找表之间的关系设置时,关闭“关系”窗口,然后再次打开它,我发现 Access 已更改它们,如第二张图片所示。无论我删除数据表视图中每个字段的查找表信息,都会发生这种情况。我不明白它为什么这样做或如何解决它。

4

1 回答 1

2

要回答您的问题:

在对象浏览器中,我看到您只有一个表:t_OutingType. 因此, "tables"t_OutingType_2只是t_OutingType_3别名;指向同一张表的“指针”(如文档的快捷方式)。当您保存关系并关闭窗口时,关系信息将写入数据库的元数据。当您重新打开“关系”窗口时,Access 会根据元数据重新构建关系图,并且它不包含冗余别名。

附加建议:

每当您发现自己在表格中重复列时,例如,、、Event_1...Event_2脑海中的一个小声音应该开始大喊“您确定这是个好主意吗?” 想象一下,如果您想在数据库中搜索特定日期的事件。使用上述表格布局,您需要...

SELECT ... WHERE EventDate_1 = [theDate] OR EventDate_2 = [theDate] OR EventDate_3 = [theDate] ...

将事件信息拆分为单独的子表并在子表与其父表之间维护关联表几乎总是更好。

于 2020-06-14T22:12:47.863 回答