MS Access“重复值”错误,但我不知道为什么

时间:2011-10-26 15:26:28

标签: ms-access vb6

我有一个VB6程序,可以在MS Access数据库中添加一列:

alter table x add column y long constraint z unique

该程序无错误地通过多个数据库;但是,在我现在看到的那个上,它给了我“你对表格所要求的更改没有成功,因为它们会在索引,主键或关系中创建重复的值......”

如果它有所不同,我通过形成主键和新列值的记录集向列添加值,然后遍历每个记录以向该列添加值。我完成后我recordSet.updateBatch

如果删除约束,它会正常完成;我已将所有1600个值放入电子表格中,按我添加的值排序,并使用公式检查重复项。没有。所有行都获得一个新值,没有任何新值与任何其他新值相同。

还有其他原因可能导致此错误吗?我真的不想删除约束,但我不知道如何通过它。

1 个答案:

答案 0 :(得分:0)

由于您确定没有尝试插入违反表索引约束的行,因此您的索引可能已损坏。看看Compact&修复可以解决问题。但首先要备份数据库。

您还可以在新数据库中重新创建表并在那里进行测试。

您可以在Tony Towes'Corrupt Microsoft Access MDBs FAQ找到有关腐败的更多信息。