亲爱的,美好的一天
我有一个表单可以运行带条件的报告 当我运行该表单时,过滤器(条件)可以正确用于报告
但是当我创建 PDF(DoCmd.OutputTo) 时,PDF 返回所有值(过滤器或条件不起作用)。
这是我的代码
fSetAccessWindow (2)
DoCmd.OpenReport "Report1", acViewReport, _
"SELECT * FROM main WHERE ID LIKE '" & Nz(Me.cmrtxt, "*") & "' AND place_of_discharge_ar LIKE '" & Nz(Me.dischargecombo, "*") & "' AND border LIKE '" & Nz(Me.bordercombo, "*") & "' AND a_date Between " & _
Format(Nz(Me.statrdatetxt, "01/01/1900"), "\#mm\/dd\/yyyy\#") & " And " & _
Format(Nz(Me.enddatetxt, "01/01/2900"), "\#mm\/dd\/yyyy\#"), , acDialog
Me.Visible = True
DoCmd.OutputTo acOutputReport, "Report1", "", "", False, "", 0
fSetAccessWindow (SW_HIDE)
谁能帮我修好吗
亲切的问候
我会将报告基于查询(如果还没有),并且由于您知道运行时报告所需的 SQL,因此您可以完全替换 QueryDef 中的 SQL(使用正确的 WHERE 过滤器)并仅输出报告。您无需提前打开。省略 OpenReport 调用,只需执行以下操作:
CurrentDB.QueryDefs("qryMyReportBase").SQL = "SELECT * FROM main WHERE ID LIKE '" & Nz(Me.cmrtxt, "*") & "' AND place_of_discharge_ar LIKE '" & Nz(Me.dischargecombo, "*") & "' AND border LIKE '" & Nz(Me.bordercombo, "*") & "' AND a_date Between " & _
Format(Nz(Me.statrdatetxt, "01/01/1900"), "\#mm\/dd\/yyyy\#") & " And " & _
Format(Nz(Me.enddatetxt, "01/01/2900"), "\#mm\/dd\/yyyy\#")
DoCmd.OutputTo acOutputReport, "Report1", acFormatPDF, "C:\MySavePath\Report1.pdf", False
显然,“qryMyReportBase”应该是报表的源查询,“C:\MySavePath\”应该是您的保存路径。
另外,我在 OutputTo 中没有看到您将类型指定为 PDF 的任何地方。既然你上面提到了,我就把它加进去了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)