访问VBA如何选择上次添加的记录?

时间:2012-10-12 17:53:35

标签: vba ms-access access-vba

我有一个包含子表单的Access表单。子表单有一个数据表。主窗体有下拉框和按钮,用于将记录添加到子窗体。这一切都很好(VBA代码)。现在我想突出显示最近插入的记录,就像我点击了行标题一样。

我应该怎么做呢?主窗体的组合框仍应设置为tpoint的正确记录,那么如何突出显示子窗体记录?

1 个答案:

答案 0 :(得分:2)

让目标记录子表单的当前记录。然后使用RunCommand“选择”它......这也会突出显示记录。

DoCmd.RunCommand acCmdSelectRecord

好像你的问题变成了“如何将最后添加的记录作为当前记录”。

如果最后添加的记录仍然是当前记录,那么您已经在那里,所以没问题。

如果用户在添加最后一个记录后导航到其他记录,则至少有两种方法可以回复它。

  1. DoCmd.GoToRecord
  2. 在记录集克隆上使用find方法。
  3. 选择最适合您情况的方法。如果组合框的绑定值是上次添加的行的数字主键,则可以使用实际替换pkey_fieldYourComboNameHereSubformControl来尝试这样的第二个建议你正在使用的名字。

    Private Sub FindLastRecordAdded()
        Dim rst As DAO.Recordset
        Dim strCriteria As String
    
        strCriteria = "[pkey_field] =" & Me.YourComboNameHere
    
        Set rst = Me.SubformControl.Form.RecordsetClone
        rst.FindFirst strCriteria
        If rst.NoMatch Then
            MsgBox "Oops. This shouldn't happen.", vbInformation
        Else
            Me.SubformControl.Form.Bookmark = rst.Bookmark
        End If
    
        Set rst = Nothing
    End Sub