微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MS.Access - 在 DoCmd.OpenReport [where 条件] 中有 2 个过滤条件的表单中的 VBA 打印报告

如何解决MS.Access - 在 DoCmd.OpenReport [where 条件] 中有 2 个过滤条件的表单中的 VBA 打印报告

我试图在不打开报告的情况下从表单打印批次 ID 数据表。 使用下面的代码,我可以打开只显示我想要的数据的报告

Private Sub PrntbLblV1_Click()   
Dim str As String
str = "[BatchID] = " & Me.BatchID
DoCmd.OpenReport "RprtLblPrint",acViewPreview,str
DoEvents
End Sub

这会在打印预览中打开我想要的记录...但是我只想将记录发送到打印机...我已经尝试过

 DoCmd.OpenReport "RprtLblPrint",acnormal,str
    DoCmd.runcommand acCmdPrint
   DoEvents

但它打印每个批处理事务而不仅仅是当前的...我认为问题是我在报告属性中有一个进一步的过滤器,可以过滤加载以删除已完成的事务 [Complete] = False 这是一个真/假复选框.. 我似乎无法将已完成的和批处理标准嵌套到 DoCmd.OpenReport 的 where 部分中 它不断抛出类型不匹配错误

str = "[BatchID] = " & Me.BatchID And [Complete] = False

我试过把它分开

Dim str As String
Dim Cmplt As String
str = "[BatchID] = " & Me.BatchID
Cmplt = [Complete] = False
    DoCmd.OpenReport "RprtLblPrint",str And Cmplt
    DoCmd.runcommand acCmdPrint

关于如何将 2 个过滤条件加入 DoCmd.OpenReport where 条件有什么建议吗??

解决方法

它需要是过滤器字符串的一部分,如:

str = "[BatchID] = " & Me.BatchID & " And [Complete] = False"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。