【发布时间】:2013-05-25 14:19:18
【问题描述】:
我知道这个问题已经被问过好几次了,但没有一个解决方案能解决我的问题。
我正在尝试在 MS Access 2007 中向名为“Audit Trail”的表中插入一行。
主键是'Activity No'列
以下是我的查询:
INSERT INTO [Audit Trail]
([Activity No], [Project Id], [Activity Date],[Activity Location],[Activity Description],[Data Reference (File No)],[Participant Id],[Person Reporting],[Comments])
VALUES
('6','SFT 2013','1/1/2014','AAA','AAA','AAA','AAA','AAA','AAA')
Activity No列的数据类型是Number(最初是autonumber,后来我改了),activity date是datetime,其余都是Text。
它给我一个错误
MS 访问不能追加追加查询中的所有记录
Microsoft Access 无法在追加查询中追加所有记录。 由于类型转换失败,Microsoft Access 将 0 个字段设置为 Null,并且由于键冲突,它没有向表中添加 1 > 记录,由于锁定冲突,没有添加 0 记录,并且由于验证规则违规,它没有添加 0 记录。 仍然要运行查询吗?
这个表也没有任何外键。它之前有一个,但我删除了这个关系。
不过,我可以通过表格的 UI 输入相同的值。
【问题讨论】:
-
如果这是一个审计表,您在进行更新时归档记录的旧副本,并且您希望为任何给定的 [Activity No] 拥有多个审计记录,那么 [Activity No]不能是主键。 (表的主键不能包含重复项。)
-
您好,该表目前只包含几条记录,全部通过表 UI 输入。不尝试为主键插入具有重复值的记录。
-
那么就像@HansUp 说的那样,您应该检查其他可能阻止 INSERT 成功的唯一索引。