滚动到表单中的子报表底部 (Access 2016)
Posted
技术标签:
【中文标题】滚动到表单中的子报表底部 (Access 2016)【英文标题】:Scrolling to the bottom of a Subreport in a Form (Access 2016) 【发布时间】:2020-02-05 14:12:02 【问题描述】:我在表单中有一个子报表,而且该报表的行数通常多于子报表的高度。我愿意:
-
增加子报表(在屏幕上)以显示所有行(我认为这在屏幕上是不可能的)
滚动到子报表的末尾,以便为每条记录显示最后一行和页脚(带总和)
我尝试在包含表单的 Current 事件中的报表的子表单上执行 SetFocus,但未成功,然后在子报表的 GotFocus 事件中在页脚的总和字段之一上添加 SetFocus。如果我单击报告,GotFocus 事件会触发并滚动到底部,但它不会自动运行。
非常感谢任何实现这些结果的建议!
【问题讨论】:
【参考方案1】:-
增长子报表对屏幕大小有限制,但您可以调整大小以适应屏幕
要移动到最后一条记录,您必须将焦点设置为报表控件(首先焦点子报表控件,然后控件子报表)
Me.subreportcontrol.SetFocus
Me.subreportcontrol.Report.AnyControl.SetFocus
DoCmd.GoToRecord acActiveDataObject, , acLast
其中AnyControl
是子报表的任何控件。
【讨论】:
啊,我之前尝试 Me.subreportcontrol.Report.AnyControl.SetFocus 时搞砸了。那行得通!谢谢 您必须先将焦点设置为子窗体控件,然后才能聚焦子窗体。通常不需要,因为 Recordser.MoveLast 会在表单上执行此操作,但报表无法移动。以上是关于滚动到表单中的子报表底部 (Access 2016)的主要内容,如果未能解决你的问题,请参考以下文章
在没有打印预览或打开报表的情况下从 Access 中的表单打印报表?
带有导航表单和子报表的 Microsoft Access 2013 上的奇怪行为