从Excel导入到访问密钥冲突和相同格式

时间:2013-07-02 14:42:07

标签: database ms-access-2007 excel-2007

首先,我要表示感谢。虽然我还不熟悉它,但我从这个网站上学到了几乎所有关于Access的知识。这是我用过的最有用的论坛之一。

我在从Excel电子表格中将数据导入Access数据库时遇到问题。我不断收到密钥违规行为,说明每行中的某个字段(列)已被删除。我的数据库上有两个表,电子表上有两个重合的表。两张纸都有这个特殊的领域。 Sheet1导入正常,但Access不会从sheet2上的该字段导入任何内容。此字段的所有属性都相同,导入期间的数据预览会验证数据是否来自同一表单中的两个工作表。

从此来源:http://www.utteraccess.com/forum/Key-Violations-Append-Q-t1918322.html 发生重大违规行为有三个原因:

1)当您尝试添加到表中的记录添加重复值时,该字段不允许重复 - 这不可能是因为字段中的每个值都是唯一的,并且字段设置为允许重复值。我的主要密钥是Access生成的复制ID。

2)当记录的字段值为null并且表中的字段是必填字段时 - sheet1上的字段正在添加空值,并且sheet2上不会添加的所有值都是空值。并且字段设置为接受空值。

3)如果添加的值不在相关表中,则在表之间的链接上设置参照完整性 - 我的数据库中没有设置任何关系。

我几次成功完成了这次导入,之后我只进行了一些细微的更改,其中大部分都在Excel文件中。感谢您的回复,非常感谢任何解释。

1 个答案:

答案 0 :(得分:0)

我找到了一个很好的替代解决方案来解决这个问题。而不是直接将数据导入我在Access中构建的表以匹配我的Excel工作表,而是通过让Access创建新表来导入工作表。此表格自动格式化为与我导入的Excel文件相匹配。