我遇到了运行时错误:参数太少:预期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
答案 0 :(得分:2)
假设您希望[Status]
与单词 Available 匹配,请将引号添加为标记suggested ...
SELECT TOP 1 WorkerID FROM attendance
WHERE [Programs] LIKE '*program*' AND [Language] LIKE '*Language*' AND [Status] = 'Available'
ORDER BY TS ASC
然而,这仍然留下一个“参数”下落不明。在Access查询设计器中创建一个新查询。切换到SQL视图并粘贴到语句文本中。
当您尝试运行该查询时,Access将弹出一个输入对话框,要求您为参数提供值。该对话框还包括Access假定为参数的单词。
将该单词与您的SQL语句进行比较。它通常是拼写错误的对象(字段或表)名称,函数或SQL关键字。在这种情况下,我无法发现函数或关键字错误,因此猜测问题是字段或表名。