Ms access 自动递增字段是否可以使用相同的值两次?

Ms access 自动递增字段是否可以使用相同的值两次?,ms-access,vba,Ms Access,Vba,我有一个带有id字段的table1,键入AutoIncrement。如果表2中没有具有相同id的记录,我需要将整个记录从表1复制到表2中。然后我从表1中删除记录 我需要知道,如果table1获得新记录,id字段将永远不会是以前使用过的数字。这是自动发生的,还是我需要做些什么来确保这一点 我尝试删除一些记录并添加新记录,但它确实没有使用相同的id,但我不确定这是否总是发生。自动增量从不使用相同的记录,即使它已从表中删除 它需要完全重置,以便从基础开始创建新的#。自动增量从不使用相同的#,即使它已从

我有一个带有id字段的table1,键入AutoIncrement。如果表2中没有具有相同id的记录,我需要将整个记录从表1复制到表2中。然后我从表1中删除记录

我需要知道,如果table1获得新记录,id字段将永远不会是以前使用过的数字。这是自动发生的,还是我需要做些什么来确保这一点


我尝试删除一些记录并添加新记录,但它确实没有使用相同的id,但我不确定这是否总是发生。

自动增量从不使用相同的记录,即使它已从表中删除


它需要完全重置,以便从基础开始创建新的#。

自动增量从不使用相同的#,即使它已从表中删除


它需要完全重置,以便从基础开始创建新的#。

确实如此,MS Access中的自动增量字段始终是增量字段,即使删除记录、压缩数据库等。
建议的数字可以在删除自动增量字段后重置,执行表的复制,然后再次添加自动增量字段。

的确如此,MS Access中的自动增量字段始终是增量的,即使删除记录、压缩数据库等。
建议的数字可以在删除自动递增字段后重置,执行表的复制,然后再次添加自动递增字段。

可以很容易地在自动递增字段中复制数字,但通常应用程序不会以这种方式工作

Access会记住“自动增量”字段中最后插入的值,并将其用于计算下一个值。不能使用VBA中的表设计器或记录集将特定值插入到autoincrement字段中,但如果使用
insert
SQL语句则可以。所以,若autoincrement字段并没有唯一的索引,那个么可以插入任何值。此外,如果插入的值小于现有的最大值,Access将自动生成重复项

因此,我不建议依赖于没有唯一索引的唯一自动递增数

INSERT
SQL可用于重置计算,而无需删除字段/表格,只需在查询生成器中或使用VBA运行如下查询:

INSERT INTO Table1 ( id ) SELECT 1;
这是我刚刚创建的带有自动增量字段
ID
I的表:


在自动递增字段中复制数字非常容易,但通常应用程序不会以这种方式工作

Access会记住“自动增量”字段中最后插入的值,并将其用于计算下一个值。不能使用VBA中的表设计器或记录集将特定值插入到autoincrement字段中,但如果使用
insert
SQL语句则可以。所以,若autoincrement字段并没有唯一的索引,那个么可以插入任何值。此外,如果插入的值小于现有的最大值,Access将自动生成重复项

因此,我不建议依赖于没有唯一索引的唯一自动递增数

INSERT
SQL可用于重置计算,而无需删除字段/表格,只需在查询生成器中或使用VBA运行如下查询:

INSERT INTO Table1 ( id ) SELECT 1;
这是我刚刚创建的带有自动增量字段
ID
I的表:


如果您删除它,或者如果手动创建表并拒绝添加主key@SergeyS. 上面的INSERT语句重置自动编号,即使字段ID定义为唯一键。MS Access存储最后插入的ID(在本例中为1),并在插入新记录时以增量方式继续添加1。我没有提到这一点,因为如果在执行INSERT语句时表不是空的,并且在计算新ID时不进行检查,那么这种行为可能会导致错误。删除并重新创建ID将重新计算所有ID,并且表将处于“一致”状态。话虽如此,你们在文章中写的是完全正确的。若你们删除它,或者若你们手动创建表并拒绝添加主表key@SergeyS. 上面的INSERT语句重置自动编号,即使字段ID定义为唯一键。MS Access存储最后插入的ID(在本例中为1),并在插入新记录时以增量方式继续添加1。我没有提到这一点,因为如果在执行INSERT语句时表不是空的,并且在计算新ID时不进行检查,那么这种行为可能会导致错误。删除并重新创建ID将重新计算所有ID,并且表将处于“一致”状态。话虽如此,你在文章中写的是完全正确的。