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

Posted

技术标签:

【中文标题】从 Excel 导入以访问密钥冲突和相同的格式【英文标题】:Importing from Excel to Access Key Violations and Identical Formatting 【发布时间】:2013-07-02 14:42:06 【问题描述】:

首先我想说声谢谢。尽管我对它还是很陌生,但我已经从这个站点学到了关于 Access 的几乎所有知识。这是我用过的最有用的论坛之一。

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

来自此来源:http://www.utteraccess.com/forum/Key-Violations-Append-Q-t1918322.html 发生密钥违规的原因有 3 个:

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

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

3) 添加的值不在相关表中,并且在表之间的链接上设置了引用完整性 - 我的数据库中还没有设置任何关系。

我之前已经成功完成了几次导入,从那以后我只做了一些小改动,其中大部分是在 Excel 文件上。感谢您的任何回复,非常感谢您的任何解释。

【问题讨论】:

我将复制 ID 作为表中的第一列,我将其移动到现在是表中最后一列的位置。现在它可以让我将数据复制粘贴到表中,但仍然没有导入。我真的很希望能够直接导入,因为我会多次重复这个动作,所以任何解释都将不胜感激。 检查事项:检查 Excel 列的格式;它们是数字,日期,它们需要在哪里,数字是否在正确的范围内;确保空单元格中没有空格。表中的数据类型是否合适。表设计中是否存在任何导致冲突的验证规则。 检查并重新检查了所有内容。我唯一能想到的另一件事是重建工作表和数据库 【参考方案1】:

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

【讨论】:

以上是关于从 Excel 导入以访问密钥冲突和相同的格式的主要内容,如果未能解决你的问题,请参考以下文章

语法错误或访问冲突:1071 指定的密钥太长;最大密钥长度为 767 字节 [重复]

由于密钥冲突 VBA SQL 访问,更新失败

php 语法错误或访问冲突:1071指定密钥太长;最大密钥长度为767字节

Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE [42000]:语法错误或访问冲突:1071 指定的密钥太长;最大密钥长度为 767 字节

SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 767 字节

我们可以使用复制命令使用访问密钥和秘密密钥将数据从 S3 加载到红移表中吗(不使用 IAM 角色)