语法使用Combobox值过滤VBA中的查询时出错

问题描述 投票:0回答:1

美好的一天。我不是开发人员,而且我不是开机棚中最敏捷的工具,但这是一个简单的问题,我一直在争取过多的时间,我希望有人在那里要善意帮助完成一项琐碎的任务。我已经搜索了答案和论坛,但我无法找到解决方案。

我在Access窗体中有3个组合框,它们将查询[Invoices]一起过滤到单个记录。我有一个VBA,我在下面显示,我试图运行一个SQL查询,将单个记录返回到记录集,使用我在WHERE子句中选择作为过滤器的组合框的值。我会附加有问题的作品:

JIstat = Forms!Invoices!Combo58.Value
Cname = Forms!Invoices!Combo50.Value
JID = Forms!Invoices!Combo56.Value


Set rs = db.OpenRecordset("SELECT [Invoice Number] FROM Invoices " & _
"WHERE [Job Invoiced?] = '" & JIstat & "'" & _
"AND [Client Name] = '" & Cname & "'" & _
"AND [Job ID] =" & JID)

JIstat是一个提供状态值(文本)的变量; Cname提供客户端名称(文本),JID提供作业标识符(编号)。

这看起来很简单,但是当我运行它时,我得到运行时错误3061太少参数预期3. 3个变量成功分配了正确的值但我怀疑格式和语法是我的撤消。我没有多少头发可以丢失,所以任何帮助都会受到赞赏。谢谢

ms-access combobox access-vba
1个回答
0
投票

在SQL语句的新行上添加了一个空格。

JIstat = Forms!Invoices!Combo58.Value
Cname = Forms!Invoices!Combo50.Value
JID = Forms!Invoices!Combo56.Value


Set rs = db.OpenRecordset("SELECT [Invoice Number] FROM Invoices " & _
"WHERE [Job Invoiced?] = '" & JIstat & "'" & _
" AND [Client Name] = '" & Cname & "'" & _
" AND [Job ID] =" & JID)
© www.soinside.com 2019 - 2024. All rights reserved.