[使用版本: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 挖掘报告本身或背后的查询,这很痛苦......
我的问题:是否可以混合我的两种方法以便直接在(通过子表单或其他)中预览myReport按sSQLWHERE 条件过滤的过滤?MainForm
可选问题 1:是否可以得到 aPrint Preview而不是 a Report View?
可选奖励:是否有可能使用不潜入记录集中的简单代码?;-)
感谢您提供任何答案或帮助来确定我的问题!
[编辑:回答步骤 1]
正如@RicardoDiaz 在评论中所说,该功能是 Access 原生的:我只需要“拖放”myReport来MainForm创建子报表,然后链接Master Fields在一起Child Fields。
然而,使用主/子关系,我无法找到如何将报告显示为Print Preview,尽管该设置被应用myReport为默认视图。知道为什么/如何解决吗?