对于新记录,自动编号值不按顺序排列

时间:2014-07-11 16:02:53

标签: sql vba ms-access access-vba

Access Table

CPTY_PK是AutuNumber主键。我在两个表之间使用了左连接,并希望添加不在此表中的记录。当我运行查询时,添加了新记录,但自动编号从613增加到7679。我不知道如何能成千上万。我认为这是因为加入,我想知道其背后的任何其他原因或解决方案。

我使用的SQL查询:

db.Execute“INSERT INTO D_Counterparty(CPTY_ENTITY_ID,CPTY_DESC)”_ &安培; “SELECT Ctpy_Entity_Id,Ctpy_Entity_Legal_Nm”_ &安培; “FROM NewCU LEFT JOIN D_Counterparty ON D_Counterparty.CPTY_ENTITY_ID = NewCU.Ctpy_Entity_Id”

1 个答案:

答案 0 :(得分:1)

  

在Access 2000及更高版本中,自动编号字段可能会开始分配极值,负数甚至重复...可能无法在受影响的表中保存新记录。

- http://allenbrowne.com/ser-40.html

这可能是您的问题,而杰出的Allen Browne将引导您完成补救措施,其中包括重新播种自动键值,但也可能改进您的数据库或应用程序设计以防止根本问题。

但是,还要确保Autokey方法尚未从增量更改为随机。 (我认为这可能不可能......见http://msgroups.net/microsoft.public.access/autonumber-from-random-to-incremental/40134。)

我不认为您的查询是问题,因为CPTY_PK不在该查询中。原因可能来自你未在此处展示的事件,但这看起来像破碎的authonumber问题,我不能轻易想象它是其他任何东西。