【问题标题】:Access macro: How to get the ID of the current record?Access 宏:如何获取当前记录的 ID?
【发布时间】:2020-12-12 00:30:11
【问题描述】:

我有一个带有一个按钮的表单,该按钮运行一个打开另一个表单的宏。两者都连接到同一张表。我希望第二个表单显示与第一个表单相同的记录。

我不想将其过滤到仅相同的记录;我知道该怎么做。 (我使用 Where Condition 框。)当新表单打开时,我希望能够导航到其他记录。

我试过这个:

GoToRecord
Record: Go To
Offset: Forms![FirstForm]![ID] 

这给出了一个错误,可能是因为 ID 号不是我要找的;这是记录编号。

所以我尝试了这个:

GoToRecord
Record: Go To
Offset: Forms![FirstForm].CurrentRecord 

但这也不起作用。

我可能可以在 VBA 中做到这一点,但我会觉得很傻;我敢肯定,我离完成这项工作只有一个关键字。

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    好的,如前所述,如果您使用 where 子句(并且在大多数情况下您应该),那么您当然会得到一条记录,但如前所述,不会导航到其他记录。

    由于某种原因,我无法让宏工作。

    这个 VBA 片段将可以工作:

      Private Sub Command84_Click()
      
          DoCmd.OpenForm "frmHotelsMain"
      
          Forms("frmHotelsMain").Recordset.FindFirst "ID = " & Me!ID
      
      End Sub
    

    但是,由于某种原因,宏中的 FindFirst 不起作用。

    所以,两行 VBA。

    我确实尝试了一个打开表单的宏,然后是一个查找记录 - 它似乎不起作用。

    【讨论】:

    • 这很好,谢谢;我已将其标记为已接受。我仍然希望有人能提出一个宏观的答案。
    • 我几乎认为这是一个错误——我根本不知道为什么打开的表单和宏中的 findrecord 不起作用——我根本不知道为什么宏不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2011-08-08
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多