参数太少错误MS Access SQL

时间:2015-05-09 17:12:46

标签: sql ms-access access-vba ms-access-2010

我遇到了运行时错误:参数太少:预期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

1 个答案:

答案 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关键字。在这种情况下,我无法发现函数或关键字错误,因此猜测问题是字段或表名。