【问题标题】:Access Vertical Scrollbar focus on top of the form访问表单顶部的垂直滚动条焦点
【发布时间】:2014-01-15 17:56:47
【问题描述】:

关于如何将滚动条/焦点保持在表单顶部的任何想法?

我有许多文本框和列表框的连续表单,无论屏幕的分辨率大小如何,用户都可以向下滚动表单。自从我实现了一个带有行源查询的列表框后,每次更改记录时,表单的垂直滚动条都会将焦点更改到表单的底部。

我尝试将焦点更改为页面顶部的控件或更改更改所述列表框的行源的方式(使用诸如 listbox.RowSource = theSQLQUERY 之类的 vba 代码或使用 sqlQuery 制作列表框的行源)。在我实现该源代码之前它曾经可以工作,它之前有一个源代码并且问题从未发生过。

行源查询如下所示:

where active_flag = 0 

我的问题是,如何将垂直滚动条/焦点保持在表单顶部,同时考虑到更改行源的列表框?

【问题讨论】:

  • 自从我开始使用“where active_flag = 0”以来,每次该记录的 active_flag = 0 时,我的滚动条一直专注于页面底部。我很困惑,我都试过了,问题是 100% 在那里。

标签: ms-access ms-access-2007 vba ms-access-2010


【解决方案1】:

关键是:

自从我实现了一个带有行源查询的列表框,该查询会在记录上有所不同,每次我更改记录时,表单的垂直滚动条都会将焦点更改到表单的底部。

您的代码从上到下遍历每条记录。它走到了底部,因为那是代码停止的地方。没关系,Access 就是这样工作的。

因此,在该代码之后,添加以下内容:

Me.Recordset.MoveFirst

或者

DoCmd.GoToRecord acDataForm, Me.Name, acFirst

【讨论】:

  • 它没有用,我 100% 确定罪魁祸首是列表框。我的表单中有 2 个子表单,没有绑定控件,并且我正在使用过滤器来获取我正在使用的记录的 ID。我的猜测是,也许子表单正在获得焦点,因为它们位于表单底部的底部/中间。有什么建议吗?
  • 好的,很难确切地知道发生了什么,但是如果表单上有链接到父表单上的数据的子表单,那可能会导致问题。在这种情况下,我所说的不会有任何影响,这是真的。我可能会断开链接并更新子表单 OnCurrent。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
  • 2010-11-29
  • 1970-01-01
  • 2018-03-03
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
相关资源
最近更新 更多