【问题标题】:Scrolling to the bottom of a Subreport in a Form (Access 2016)滚动到表单中的子报表底部 (Access 2016)
【发布时间】:2020-02-05 14:12:02
【问题描述】:

我在表单中有一个子报表,而且该报表的行数通常多于子报表的高度。我愿意:

  1. 增加子报表(在屏幕上)以显示所有行(我认为这在屏幕上是不可能的)
  2. 滚动到子报表的末尾,以便为每条记录显示最后一行和页脚(带总和)

我尝试在包含表单的 Current 事件中的报表的子表单上执行 SetFocus,但未成功,然后在子报表的 GotFocus 事件中在页脚的总和字段之一上添加 SetFocus。如果我单击报告,GotFocus 事件会触发并滚动到底部,但它不会自动运行。

非常感谢任何实现这些结果的建议!

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:
    1. 增长子报表对屏幕大小有限制,但您可以调整大小以适应屏幕
    2. 要移动到最后一条记录,您必须将焦点设置为报表控件(首先焦点子报表控件,然后控件子报表)
    Me.subreportcontrol.SetFocus
    Me.subreportcontrol.Report.AnyControl.SetFocus
    
    DoCmd.GoToRecord acActiveDataObject, , acLast
    

    其中AnyControl是子报表的任何控件。

    【讨论】:

    • 啊,我之前尝试 Me.subreportcontrol.Report.AnyControl.SetFocus 时搞砸了。那行得通!谢谢
    • 您必须先将焦点设置为子窗体控件,然后才能聚焦子窗体。通常不需要,因为 Recordser.MoveLast 会在表单上执行此操作,但报表无法移动。
    猜你喜欢
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    • 2023-04-07
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多