管理具有相同主键的表(Access 2010)

时间:2015-06-14 18:45:09

标签: ms-access ms-access-2010

我是Access的新手,我正在尝试将之前管理不善的数据库转换为稍好的工作版本。

最大的问题是数据库包含几个主要的'所有具有相同主键的表。我知道这并不理想,但在这种情况下,我不确定它是否可以避免,因为它需要以这种方式来保护隐私+那里有很多不同的领域所以我不是确定我们是否接近上限。

基本上,数据库是为了以后的研究目的而存放手术记录。有两个主要的主键。几个表(例如,OperativeData + Complications)使用'手术ID'作为主键。其他表格(例如,PatientDemographic + MedicalHistory)使用患者ID'作为主键。有9个这样的"主要"数据库中的表。

我有两个主要的'问题我试图解决:

1)确保事物总是在表格中匹配。如果我们要创建一个想要整合患者的查询。病史及其并发症。我显然需要一切排队。我还需要能够从查询/表单更新,因为我们不希望每个人都有权访问基础表。

2)我想创建一种简单的方法,一次向所有表添加记录。理想情况下,这将是一个我可以放入患者#,手术#和其他一些基本信息的形式。它会在每个表上创建一个条目,即使其他信息都没有填充。 (一个人定期将新患者输入数据库,但可能需要几年时间才能输入其他信息,因为它可能不是目前研究项目的一部分)。

我怎样才能解决这两个问题?

我目前对解决方案的尝试有一个"主表"建立。该表的主键为" Surgery#"和#34;患者#"的外键(因为手术#将始终是独特的,但给定的患者可能有多次手术)。使用此表作为链接,我在所有其他表之间建立了关系。 (每个表具有相同的主键,彼此链接为一对一,然后每个表也链接到此主表)。

这有助于我在查询时排队,但在尝试从查询更新时遇到很多问题(记录集不可更新,可能是因为它是 - 多对多关系?)..但没有解决数据输入问题。我读到了使用子表单,但听起来我需要为每个主表提供一个子表单?

希望我已经清楚地列出了这些问题,但如果您有任何问题,请告诉我。我显然无法上传数据库本身,但如果有帮助,我可以尝试使用样本数据来构建类似的数据库。

提前感谢您提供任何帮助或提示!

0 个答案:

没有答案