【问题标题】:Continuous form only referring to the first record仅指第一条记录的连续形式
【发布时间】:2013-04-04 19:44:46
【问题描述】:

我有一个连续的表格 - 表格上的一个字段是 RecordID。

我在该表单上有一个标签,单击该标签时应通过 VBA 生成一个带有 RecordID 的消息框:

MsgBox Me.RecordID

标签在连续表格的每一行上都被复制,但只会引用第一条记录。尽管我可以看到表单的每一行中的 RecordID 字段不同,但我总是得到相同的结果,在本例中为 80029。

这是怎么回事?

【问题讨论】:

  • 为了他人的利益:我以为我在尝试获取关于MouseMove 的信息时遇到了这个问题 - 但感谢这里的信息,我意识到它只是给了我错误的记录,因为 onMouseMove 没有选择记录用户悬停在上面,所以我总是看到“选定”记录的数据,而不是“悬停”记录。

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


【解决方案1】:

Me.RecordID 指的是当前记录RecordID,如记录选择器中的黑色三角形所示:

表单上的Label 控件无法接收Focus,因此当您单击另一条记录中的标签时,当前记录不会更改,并且您会继续获得相同的RecordID。请注意,如果您将相同的代码放入文本框的Click 处理程序(或其他可以接收Focus 的控件),则当前记录更改,您将获得@该记录的 987654329@。

【讨论】:

  • 就是这样 - 适合我尝试使用标签而不是按钮,因为它看起来更好。
  • 您可以在同一个地方同时使用两者,但要使按钮透明,这样点击事件就会转到按钮,但您会看到标签。
猜你喜欢
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多