我有一条INSERT INTO ... SELECT
语句将数据从一个表复制到另一个表。
但问题是,第二个表中的AutoNumber列值从第一个表中的最后一个数字开始。
这意味着第一个表的计数是2000,然后,第二个表从2001开始。
使用Access数据库时,如何重设此值?
您可以从ADO执行Access DDL语句以重置自动编号种子值。这是立即窗口会话的示例:
strDdl = "ALTER TABLE Dummy ALTER COLUMN ID COUNTER(1, 1);"
CurrentProject.Connection.Execute strDdl
该语句必须从ADO执行。如果您使用DAO(例如CurrentDb.Execute strDdl
)或通过Access查询设计器尝试失败,它将失败。该示例成功,因为CurrentProject.Connection
是一个ADO对象。
接下来的两个值COUNTER
是seed和增量。因此,如果我希望自动编号从1000开始并增加2,则可以使用COUNTER(1000, 2)
如果表中包含数据,则种子值必须大于最大存储值。如果执行语句时表为空,则不会有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句