导入时的MS Access自动编号

时间:2009-06-04 21:32:20

标签: database ms-access-2007 overflow containers autonumber

好奇的是,当我将带有519行的电子表格中的数据导入空表时,为什么我的自动编号键从56,557,618开始?这有多大?我不想最终耗尽我的主键字段的数字,因为我甚至没有在项目上开始,我希望定期倾销电子表格。

3 个答案:

答案 0 :(得分:3)

您可以使用以下方法重置自动编号而不使用紧凑和修复:

 CurrentDb.Execute "ALTER TABLE tblTable ALTER COLUMN ID COUNTER(1,1)"

在运行SQL之前,您必须确保该表为空,否则您将尝试使用Access来创建重复的自动编号。

答案 1 :(得分:1)

Access会记住它在空表上发出的最后一个ID。要重置自动编号,您必须在清空表后压缩/修复数据库

自动编号也是一个长整数,在Access中可以达到2,147,483,647

答案 2 :(得分:0)

您还可以通过创建包含自动编号列的追加查询来重置自动编号。一旦添加了一行,该数字将被设置为附加值+ 1。

执行此操作时,必须注意该值不小于最高当前值。

例如

INSERT INTO tblName ( id )
SELECT [tblName]![id]+1 AS [New Value]
FROM tblName
GROUP BY [tblName]![id]+1, tblName.id
HAVING (((tblName.id)=(Select max(id) from tblName)));

将自动编号重置为最后一个数字的+ 2。请注意,您必须包含任何必填列,然后删除新行。