如何解决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 举报,一经查实,本站将立刻删除。