将数据追加到索引表

时间:2018-07-05 13:37:58

标签: ms-access indexing access-vba append autonumber

我正在尝试将记录追加到具有由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列的新数据附加到表中:I​​nt(DMax(“ ID”,“ tComplianceAll”)+ 1)AS Expr1

但是,这仅适用于第一条记录。其余的由于密钥冲突而不会追加,因为它试图为所有追加的记录分配相同的ID号。有没有办法更改该SQL,以便它正确索引新添加的数据?

1 个答案:

答案 0 :(得分:0)

您肯定可以在此处使用标准的自动编号ID值!

  1. 编辑表tComplianceAll并将ID列类型更改为AutoNumber
  2. 然后,使用此SQL设置下一个值:

    ALTER TABLE tComplianceAll ALTER COLUMN ID AUTOINCREMENT(5001,1)
    

    实际上,您可以将5001更改为(DMax("ID", "tComplianceAll") + 1)返回的最新值

应该这样做,前提是使用tComplianceAll字段,ID与其他外部表没有任何关系。