我正在尝试将记录追加到具有由ID列索引的数据的表中。我希望附加的数据继续该索引并将下一个数字附加到第一个附加的记录,依此类推。但是,该ID列不是AutoNumber列-第一个数字必须为5001,因此它的当前数据类型为“ Number”。该表格中已有的数据通过此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,以便它正确索引新添加的数据?
答案 0 :(得分:0)
您肯定可以在此处使用标准的自动编号ID值!
tComplianceAll
并将ID
列类型更改为AutoNumber
然后,使用此SQL设置下一个值:
ALTER TABLE tComplianceAll ALTER COLUMN ID AUTOINCREMENT(5001,1)
实际上,您可以将5001
更改为(DMax("ID", "tComplianceAll") + 1)
返回的最新值
应该这样做,前提是使用tComplianceAll
字段,ID
与其他外部表没有任何关系。