【问题标题】:(msaccess) Sync user scrolling across multiple pages/tabs/datasheets?(msaccess) 跨多个页面/选项卡/数据表同步用户滚动?
【发布时间】:2017-02-18 07:08:24
【问题描述】:

我有一个包含多个数据表子表单的表单,这些子表单被分类到选项卡控件的不同页面中。

每个子表单数据表都基于一个完全不同的查询,尽管在我的情况下,所有子表单将始终包含完全相同数量的记录。

问题:是否可以以编程方式捕获用户滚动输入(通过键盘、鼠标滚轮、导航按钮或它们的任何组合)并将该信息传递给子表单,以便无论用户做什么,无论何时切换页面/选项卡,相同的记录编号将始终出现在每个页面/选项卡的第一行?

例如我有三个子窗体,每个子窗体都有自己的页面控件,每个底层记录集正好有 1000 条记录。用户向下滚动,以便记录 #575 显示在该页面子表单的第一行中。用户实际上从不选择任何记录,只是使用鼠标或键盘滚动。

是否可以保证,如果用户切换到不同的页面/选项卡,相应记录集的记录号 575 将显示在新页面数据表的第一行中?

【问题讨论】:

  • 我一直在尝试使用 .currentselectiontop 捕获活动选项卡的状态,以测量与子表单顶部的最后一条(即第 1000 条)记录的距离,并将其用作代理用于表单的滚动位置。我在成功将此信息传递给其他子表单时遇到了一些麻烦(.currentselectiontop 是只读的)。我不确定我是否走在最理想的道路上来完成我想做的事情,但到目前为止,这似乎是唯一有希望的事情。

标签: ms-access


【解决方案1】:

没有捕捉滚动本身的事件,但您可以控制相同的 current 行 id 在所有子窗体中可见。

可在此处找到并下载完整的代码和解释,包括工作演示:

Synchronizing Multiple Subforms in Access

【讨论】:

  • 谢谢,会调查的!
  • 我很欣赏这个建议,但看起来这不是我需要做的。虽然,我开始怀疑 MSACCESS 目前可能没有 any 方式来做我需要做的事情。据我所知,从字面上检索有关顶部 可见 记录的信息的唯一方法是按住滚动条本身的鼠标按钮。但是,使用任何方法似乎都无法以编程方式获得此信息。这真的是真的吗?
  • 是的,确实如此。
  • 再次感谢@gustav :)
猜你喜欢
  • 1970-01-01
  • 2023-02-22
  • 1970-01-01
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 2019-02-15
相关资源
最近更新 更多