Access 2013中从窗体打开报表打印预览的代码问题
嘿,我来帮你搞定Access里从窗体打开报表打印预览的问题!
解决思路&代码调整
首先,你的现有代码已经有了核心筛选逻辑,但需要两个小调整:切换到预览视图,以及把代码放在正确的触发位置。
1. 修改代码,切换到打印预览模式
你当前用的是acViewReport(普通报表视图),要改成acViewPreview才能打开打印预览。修改后的完整代码:
DoCmd.OpenReport "Rpt_Tanc", acViewPreview, WhereCondition:="[TMProfiling_ID]=" & Me!TMProfiling_ID
2. 把代码放在合适的触发事件里
这段代码最适合放在窗体上的命令按钮点击事件里,步骤如下:
- 打开窗体的设计视图
- 添加一个命令按钮(可以把按钮标题设为“预览报表”,命名为
cmdPreviewReport方便识别) - 双击按钮,打开事件编辑器,选择
On Click事件 - 在弹出的VBA编辑窗口里,粘贴上面的代码到事件过程中
完整的事件过程示例:
Private Sub cmdPreviewReport_Click() ' 根据当前窗体的TMProfiling_ID筛选并预览报表 DoCmd.OpenReport "Rpt_Tanc", acViewPreview, WhereCondition:="[TMProfiling_ID]=" & Me!TMProfiling_ID End Sub
额外小提醒
- 确保窗体上确实存在
TMProfiling_ID这个控件,且它有有效值,不然会出现筛选错误 - 如果
TMProfiling_ID是文本类型,记得给条件值加单引号:DoCmd.OpenReport "Rpt_Tanc", acViewPreview, WhereCondition:="[TMProfiling_ID]='" & Me!TMProfiling_ID & "'"
内容的提问来源于stack exchange,提问作者From bits To Chips
相关产品推荐
相关产品推荐

