首页 > 解决方案 > 在表单/子表单中嵌入过滤后的报表打印预览

问题描述

[使用版本:Access 2019]

我的MainForm包含:

ComboBox "cb_choice_clientID"  ---> user selected ID for Table "Clients"
SubForm "sf_previewPanel"      ---> I want to preview directly in "MainForm"

根据clientID用户的选择,我想直接在为此过滤sf_previewPanel的报告中预览。myReportclientID


我已经可以做的:

1)使用以下命名的 WHERE 条件myReport在新选项卡/窗口中打开过滤器:Print PreviewsSQL

Private Sub cb_choice_clientID_AfterUpdate()
    Dim sSQL As String
    sSQL = IIf(IsNull(Me.cb_choice_clientID), "", "clientID=" & Me.cb_choice_clientID)
    DoCmd.OpenReport "myReport", acViewPreview, "", sSQL, acNormal
End Sub

---> 但我想直接在MainForm...中预览过滤后的报告

2)直接在子表单中查看未过滤myReport的内容:Report Viewsf_previewPanel

Me.sf_previewPanel.SourceObject = "Report.myReport"

--->但是我无法到达Print Preview那里,而且我找不到将过滤器应用于报告的方法,而无需通过 VBA 挖掘报告本身或背后的查询,这很痛苦......


我的问题:是否可以混合我的两种方法以便直接在(通过子表单或其他)中预览myReportsSQLWHERE 条件过滤的过滤?MainForm

可选问题 1:是否可以得到 aPrint Preview而不是 a Report View

可选奖励:是否有可能使用不潜入记录集中的简单代码?;-)

感谢您提供任何答案或帮助来确定我的问题!



[编辑:回答步骤 1]

正如@RicardoDiaz 在评论中所说,该功能是 Access 原生的:我只需要“拖放”myReportMainForm创建子报表,然后链接Master Fields在一起Child Fields

然而,使用主/子关系,我无法找到如何将报告显示为Print Preview,尽管该设置被应用myReport为默认视图。知道为什么/如何解决吗?

标签: vbams-access

解决方案


推荐阅读