Vba 如何以连续形式获取记录编号?

Vba 如何以连续形式获取记录编号?,vba,ms-access,dao,ms-access-2010,records,Vba,Ms Access,Dao,Ms Access 2010,Records,我正在MS Access中创建一个表单。其“细节”部分设置为“连续形式”。我根据一些条件过滤结果,这样当表单运行时,它只显示过滤后的结果 我还在同一表单的详细信息部分包含了一个命令按钮 当我单击该命令按钮时(该按钮出现在表单中筛选结果的每条记录前面),我希望显示一个消息框。信息框应显示该特定记录的ID(自动编号) 我正在尝试这样的事情: Private Sub cmdSelect_Click() Dim MyDB As DAO.Database Dim MyRec As DAO

我正在MS Access中创建一个表单。其“细节”部分设置为“连续形式”。我根据一些条件过滤结果,这样当表单运行时,它只显示过滤后的结果

我还在同一表单的详细信息部分包含了一个命令按钮

当我单击该命令按钮时(该按钮出现在表单中筛选结果的每条记录前面),我希望显示一个消息框。信息框应显示该特定记录的ID(自动编号)

我正在尝试这样的事情:

Private Sub cmdSelect_Click()

    Dim MyDB As DAO.Database
    Dim MyRec As DAO.Recordset

    Set MyDB = CurrentDb
    Set MyRec = MyDB.Recordsets

    MsgBox MyRec![Artifact ID]

    'MsgBox CurrentRecord![Artifact ID]

    Set MyDB = Nothing
    Set MyRec = Nothing

End Sub
然而,它给出了一个错误

请帮帮我


谢谢。

连续表单是绑定的,因此无需引用任何其他记录集,因为它已经存在,只要工件ID是表单记录源的一部分,您就可以将其用于点击事件:

MsgBox [Artifact ID]
或如有需要:

Msgbox Me.[Artifact ID]

假设您将记录ID传递给连续表单,但不一定可见,那么按照@mattdonan的建议执行操作将是您的解决方案。如果未将RecordID传递给表单,则需要编辑绑定查询,以便每个记录都可以唯一标识。