我遇到了运行时错误:参数太少:预期为2。
该代码应该可以让下一位员工排队。员工[programs]
和[Language]
必须匹配表CFRRR中的[program]
和[language]
。
strSQL = "SELECT TOP 1 WorkerID FROM attendance WHERE [Programs] LIKE '*" & program & "*' AND [Language] = '" & Language & "' AND [Status] = " & ("Available") & " ORDER BY TS ASC"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
这是Debug.Print strSQL
给我看的东西:
SELECT TOP 1 WorkerID FROM attendance WHERE [Programs] LIKE '*program*' AND [Language] LIKE '*Language*' AND [Status] = Available ORDER BY TS ASC
假设您要[Status]
匹配“可用”一词,请按照Mark的建议添加引号...
SELECT TOP 1 WorkerID FROM attendance
WHERE [Programs] LIKE '*program*' AND [Language] LIKE '*Language*' AND [Status] = 'Available'
ORDER BY TS ASC
然而,这仍然留下一个“参数”无法解释。在Access查询设计器中创建一个新查询。切换到SQL View并粘贴您的语句文本。
当您尝试运行该查询时,Access将弹出一个输入对话框,要求您提供参数值。该对话框还包含Access假定为参数的单词。
将该单词与您的SQL语句进行比较。通常是拼写错误的对象(字段或表)名称,函数或SQL关键字。在这种情况下,我无法发现函数或关键字错误,因此可以猜测问题是字段或表名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句