Microsoft Access参照完整性错误消息,但主键值匹配

问题描述 投票:-1回答:1

我正在将Excel电子表格中的一些其他数据附加到现有的Microsoft Access数据库中。主键是“ RecordID”,但是,当我去创建具有强制参照完整性的当前表和新表之间的一对一关系时,我收到错误消息,“ Microsoft Access无法创建此关系并强制执行参照完整性”。奇怪的是,我检查了两个表之间的每个RecordID并进行了比较,它们匹配100%。

然后我运行“查找不匹配的查询”以比较两个表的RecordID,然后出现5个RecordID。但是,它们看起来就像它们都存在于两个表中一样。例如,表1和表2都包含“ ST101_1”,但是在不匹配的查询中列出了“ ST101_1”。

甚至是陌生人,我然后打开表1(主表),并且为不匹配查询中列出的那些记录,我尝试添加重复记录。它不应该让我这样做,因为“ RecordID”是主键。但是,再次,对于不匹配查询中列出的那些记录,它允许我输入重复的值。例如,在“ RecordID”下,我键入“ ST101_1”,然后添加一个带有“ RecordID”,“ ST101_1”的新记录,但没有出现错误消息,提示我输入重复值!

非常感谢任何输入-这让我发疯了!

关系(新导入的表是tblFreesurfer,我要使用强制参照完整性连接到tblRecordID)1tblRecordID和tblFreesurfer 2之间的查询不匹配的结果前端的图像,以及允许我输入相同RecordID 3

的数据库
ms-access duplicates relational-database primary-key referential-integrity
1个回答
0
投票

您必须发布表的设计和关系。

但是,一些不匹配的查询就是一个查询。这样的查询可以对任何表进行操作。

您必须选择+假设您有一个主表。当然,您可以添加很多新记录,而无需在子表中添加记录。 (因为您无法一次添加两个记录!!!)

但是,如果实际上将该主表的PK设置为PK,则一次只能输入相同的PK值。如果是这种情况,那么我怀疑正在导入的数据带有尾随空格,因为这是不可能的。设置错误或导入的数据末尾有空白。我将使用SAME pk调出两个记录,并将光标放在其中一列中,然后按f2键-您会在字段高亮显示值,并看到多余的空格。在Access中进行编辑时,您不能输入尾随空格,可以使用代码,也可以在导入期间输入空格。


0
投票

[您以excel ....开始,但是在其余文章中没有提及....您是专门描述Access表的行为,还是在讨论与指向excel文件的链接有关的行为?] >

© www.soinside.com 2019 - 2024. All rights reserved.