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

MS.ACCESS - 批量打印的循环记录 - 未找到错误项目

如何解决MS.ACCESS - 批量打印的循环记录 - 未找到错误项目

我正在尝试组合一种快速发送多条记录以一次性打印的方法..

为了实现它,我整理了一个查询 [Qry_Mass_Print],将工作卡号 [Job Number] 与是/否字段组合在一起,指示是否应打印记录 [PrntJbSwtch]

在使用监视列表的 VBA 中,以下代码似乎正在计算正确的记录数,因此我相信查找工作正常,但在循环分配给打印字符串变量时似乎无法提取作业编号PRNTstr

Private Sub MssJbCrdPrnt_Click()

On Error GoTo ErrorHandler

Dim PRNTstr As String
Dim strsql As String
Dim rs As DAO.Recordset


strsql = "SELECT 'Job Number' FROM Qry_Mass_Print WHERE [PrntJbSwtch] = True"
 Set rs = CurrentDb.OpenRecordset(strsql)
With rs
    If Not .BOF And Not .EOF Then
            .MoveLast
            .MoveFirst
        While (Not .EOF)
       '' MsgBox (!Job_Number)
          PRNTstr = !Job_Number
           DoCmd.OpenReport "JobCard",acnormal,PRNTstr
            .MoveNext
        Wend
End If
            .Close
End With

ExitSub:
    Set rs = nothing
    Exit Sub
ErrorHandler:
    Resume ExitSub
    
End Sub

我认为是检索作业号导致了问题,因为我什至无法将其显示在 msgBox 中...

对导致它的原因有什么建议吗?

解决方法

而不是 SQL 字符串:

strSQL = "SELECT 'Job Number' FROM Qry_Mass_Print WHERE [PrntJbSwtch] = True"

您应该将字段名称括在方括号中:

strSQL = "SELECT [Job Number] FROM Qry_Mass_Print WHERE [PrntJbSwtch] = True"

您可能还想在 SQL 字符串中放入 ORDER BY

.. 并相应地调整代码:

PRNTstr = ![Job Number].Value

问候,

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