vba - 在表单/子表单中嵌入过滤后的报表打印预览
问题描述
[使用版本: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
的报告中预览。myReport
clientID
我已经可以做的:
1)使用以下命名的 WHERE 条件myReport
在新选项卡/窗口中打开过滤器:Print Preview
sSQL
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 View
sf_previewPanel
Me.sf_previewPanel.SourceObject = "Report.myReport"
--->但是我无法到达Print Preview
那里,而且我找不到将过滤器应用于报告的方法,而无需通过 VBA 挖掘报告本身或背后的查询,这很痛苦......
我的问题:是否可以混合我的两种方法以便直接在(通过子表单或其他)中预览myReport
按sSQL
WHERE 条件过滤的过滤?MainForm
可选问题 1:是否可以得到 aPrint Preview
而不是 a Report View
?
可选奖励:是否有可能使用不潜入记录集中的简单代码?;-)
感谢您提供任何答案或帮助来确定我的问题!
[编辑:回答步骤 1]
正如@RicardoDiaz 在评论中所说,该功能是 Access 原生的:我只需要“拖放”myReport
来MainForm
创建子报表,然后链接Master Fields
在一起Child Fields
。
然而,使用主/子关系,我无法找到如何将报告显示为Print Preview
,尽管该设置被应用myReport
为默认视图。知道为什么/如何解决吗?
解决方案
推荐阅读
- c++ - 运行时检查失败 #2 MSVC 仅使用 utf8proc 进行调试
- c# - 将结果输出到命令行时出现问题。
- javascript - Javascript减法不正确
- reactjs - 在渲染方法之外创建变量时出现错误
- android - 空指针异常
- html - 由于无滚动滚动条,Div 不是全宽/全高?
- java - Grails 3.3 @Service 注释没有为抽象服务制作bean?
- string - SendGrid 使用带有 template_id 的字符串替换
- machine-learning - 什么类型的神经网络用于不可分类问题
- bash - bash脚本中的centos删除失败