【发布时间】:2018-12-14 00:35:18
【问题描述】:
我正在尝试将记录附加到具有由 ID 列索引的数据的表中。我希望附加数据继续索引并将下一个数字附加到第一个附加记录,依此类推。但是,该 ID 列不是自动编号列——第一个数字必须是 5001,因此它的当前数据类型是“数字”。该表中已有的数据是通过带有此 VBA 的表单输入的,以格式化 ID 列:
If Nz(Me.ID, "") = "" Then
NewID = Int(DMax("ID", "tComplianceAll") + 1)
Else
NewID = Me.ID
End If
我目前有一个附加查询,试图将新数据附加到具有该 ID 列的此 SQL 的表中:Int(DMax("ID","tComplianceAll")+1) AS Expr1
但是,这仅适用于第一条记录。由于密钥违规,其余部分不会被附加,因为它试图为所有附加记录分配相同的 ID 号。有没有办法更改该 SQL 以便正确索引新附加的数据?
【问题讨论】:
-
您可以“播种”自动编号字段的起始值,这是迄今为止解决问题最简单的方法,使用自动编号。只要您当前的数据可靠,我相信您仍然可以更改数据类型。
-
如果您不想定义自动编号列,另一种选择是编写一些 VBA 代码来附加数据。
标签: ms-access indexing vba append autonumber