如何将焦点设置在打开新表单之前选择的最后一条记录上

Posted

技术标签:

【中文标题】如何将焦点设置在打开新表单之前选择的最后一条记录上【英文标题】:How to set focus on the last record which was selected prior to opening a new form 【发布时间】:2014-07-07 18:40:26 【问题描述】:

我有一个表单,它允许用户浏览表单 #1 上的记录,通过选择记录,可以通过单击单个记录来进一步丰富它,然后打开表单 #2 以允许用户添加其他详细信息。我的问题是在对表单#2 进行修改后发生的,因为在关闭它时,焦点会自动设置为表单#1 中可用的第一条记录。我想了解如何将焦点设置在打开表单 #2 之前查看的最后一条记录。

【问题讨论】:

【参考方案1】:

当你关闭 Form2 时,你是在重新查询 Form1 吗?如果是这样,那么您必须在重新查询之前将当前记录的 ID 值存储在 Form1 中,然后在重新查询后使用 FindFirst 来定位它:

Dim intID As Integer
intID = Forms("Form1").YourIDField 
' requery, or whatever, here
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
rst.FindFirst "YourIDField=" & intID
If Not rst.NoMatch Then
  Me.Bookmark = rst.Bookmark
End If

【讨论】:

以上是关于如何将焦点设置在打开新表单之前选择的最后一条记录上的主要内容,如果未能解决你的问题,请参考以下文章

从 BindingList 中删除最后一条记录选择最后一行导致 DataGridView 滚动

获取子表单中选定行的ID

如何防止新的 WPF 表单窃取焦点?

WPF 打开新窗口 如何设置 焦点还在原来的窗口 谢谢

如何获取mysql中最后一条之前的最后一条记录?

如何使用 JavaScript 将焦点设置在 HTML 表单中的元素上?