从表单打印子报表 (Access 2016)

Print subreport from form (Access 2016)

我有一个带有选项卡控件的父窗体,每个选项卡包含一个报表。我试图在我的主窗体上放置一个命令按钮,它将在活动选项卡上打印报告。我极力避免在每份报告上放置 "Print" 按钮。 到目前为止,我已经完成了以下工作:

1.I 我正在使用这行代码在打印预览中打开选定的报告:

DoCmd.OpenReport Right(Me!Rpt0.SourceObject, Len(Me!Rpt0.SourceObject) - 7), acViewPreview

它看起来很复杂,因为当您将报表作为子表单时,源对象 属性 是 Report.MyReport 所以我不得不删除 "Report." 部分。

到目前为止一切顺利。

2.I 还根据包含报表的选项卡索引命名了包含报表的所有控件。因此,报告第 1 页是 Rpt0,第 2 页是 Rpt1,依此类推。

  1. 我正在尝试用如下表达式替换该行代码中的 "Rpt0" 部分:

    myexp= "Rpt" & Me!TabCtl1.TabIndex
    

    所以上面的代码就变成了:

    DoCmd.OpenReport Right(Me!myexp.SourceObject, Len(Me!myexp.SourceObject) - 7), acViewPreview    
    

    并且每次都选择活动报告。

我的问题是 Dim As 和 Set.. 我对它们不熟悉,似乎我尝试的任何组合都会出现 "Object required" 错误,或 运行-time 错误“2465”:找不到字段 "myexp"。

提前致谢

可能是:

DoCmd.OpenReport Right(Me(myexp).SourceObject, Len(Me(myexp).SourceObject) - 7), acViewPreview