第一次运行追加查询时的密钥违规,但不是第二次

时间:2017-07-13 22:08:57

标签: sql vba ms-access primary-key ms-access-2013

我收到一条错误消息,指出使用VBA运行追加查询时存在密钥违规。但是,我没有做任何事情来改变表的主键,为什么会出现密钥违规?

这是一个奇怪的部分 - 我第一次运行追加查询时,我收到此密钥违规错误。但是,当我立即再次运行它,即没有做任何事情时,它工作正常。

SQL字符串:

INSERT INTO tblQuoteVendors (QuoteID, CompanyID, ContactID)
VALUES (360, 236, 491);

表架构:

Field Name    Datatype
ID            Autonumber
QuoteID       Number
CompanyID     Number
ContactID     Number
VendorQuote   Short Text

表格关系

表关系的屏幕截图

Screenshot of table relationships

2 个答案:

答案 0 :(得分:0)

这可能是由于你的"加倍" tblQuote和tblCompany之间的关系:

tblQuote.CompanyID / tblCompany.CompanyID

在这里:

tlQuote.QuoteID / tblQuoteVendors.QuoteID - tblQuoteVendors.Company.ID/tblCompany.CompanyID

答案 1 :(得分:0)

我的情况完全一样:

  

这是奇怪的部分-第一次运行附加查询时,我得到了   此密钥冲突错误。但是当我立即再次运行它时   不做任何其他事情,就可以正常工作。

压缩和修复数据库解决了这个问题。