【问题标题】:Finding Autonumber ID for new record in Access 2007在 Access 2007 中查找新记录的自动编号 ID
【发布时间】:2010-12-10 20:46:14
【问题描述】:

我问over here 的问题实际上是一个由两部分组成的问题。我接受了一个非常适合第一部分的答案,但我仍然对第二部分感到困惑。

我有一个绑定到表格的表格。用户(仍然只是我,处于开发模式,但仍然......)在表单中输入新记录。如何获得该记录的(自动编号)ID?即使在强制保存后,它似乎也不在我知道如何找到它的任何地方。

ID 不在表单上的任何位置,尽管它在基础记录集中。就此而言,记录集似乎指向第一条记录,而不是新添加的记录(我知道纯代码 DAO 记录集记录了这种行为,但我希望 form.recordset 的当前记录是显示在屏幕上的那个)。

【问题讨论】:

    标签: ms-access ms-access-2007 vba


    【解决方案1】:

    您可以使用 After Insert 事件:

    Private Sub Form_AfterInsert()
    MsgBox Me.ID  ''Name of autonumber field
    End Sub
    

    【讨论】:

    • 这似乎是获取新创建的自动编号 ID 的最直接方式。
    • 接受,因为它解决了我的问题——不过,我什至不需要使用该事件。我只是没有意识到 ID 字段会以这种方式成为表单的属性。正如我在相关问题链中的某处所说,我并不真正习惯于绑定界面元素。
    • 我应该在你之前的问题上说,这对我来说很明显,所以我没有看到对于 Access 的新手来说不是那么清楚。
    • 没问题——我们都看到了太多的树,有时却没有足够的森林。
    • OP 明确声明though it is in the underlying recordset
    【解决方案2】:

    你也可以使用 .movelast 命令

    设置 rstTemp 等

    填充字段

    rstTemp.update rsttemp.movelast

    rstTemp!ID 的值(其中 ID 是自动编号字段)将是自动编号值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多