我正在尝试将记录附加到具有由 ID 列索引的数据的表中。 我希望附加的数据继续该索引,并将下一个数字附加到第一个附加的记录,依此类推。 但是,该 ID 列不是"自动编号"列 - 第一个数字必须是 5001,因此其当前数据类型为"数字"。 该表中已有的数据通过具有此VBA的表单输入,以格式化ID列:
If Nz(Me.ID, "") = "" Then
NewID = Int(DMax("ID", "tComplianceAll") + 1)
Else
NewID = Me.ID
End If
我目前有一个附加查询,尝试使用该 SQL 将该 ID 列的新数据附加到表中:Int(DMax("ID","tComplianceAll"(+1( AS Expr1
但是,这仅适用于第一张唱片。 由于键冲突,其余的不会被追加,因为它试图为所有附加的记录分配相同的 ID 号。 有没有办法更改该 SQL,以便它正确索引新附加的数据?
您当然可以在此处使用标准的自动编号 ID 值!
- 编辑表
tComplianceAll
并将ID
列类型更改为AutoNumber
-
然后,使用此 SQL 设置下一个值:
ALTER TABLE tComplianceAll ALTER COLUMN ID AUTOINCREMENT(5001,1)
实际上,您将
5001
更改为(DMax("ID", "tComplianceAll") + 1)
返回的最新值
这应该可以做到这一点,前提是tComplianceAll
与使用ID
字段的其他外部表没有任何关系。