MS Access SQL参数太少:预期2

时间:2016-08-25 20:21:44

标签: sql ms-access access-vba

在MS Access 2010中,我有以下查询,该查询随机对数据进行排序并将其放入新工作表中。在我添加WHERE之前,它正在工作,但现在我收到一个错误告诉我:

  

参数太少:预计2。

有人知道如何解决这个问题吗?

sqlQuery = "SELECT [My_Sheet].* " & _
             " INTO My_New_Sheet" & _
             " FROM [My_Sheet] " & _
             " WHERE [Some_Field] = [Some_Possible_Value_For_The_Field] " & _
             " ORDER BY Rnd(-(100000*[Some_Other_Field])*Time())"

Debug.Print sqlQuery
CurrentDb.Execute sqlQuery

[Some_Possible_Value_For_The_Field]来自[My_Sheet]

请注意,这是Access SQL

1 个答案:

答案 0 :(得分:4)

sqlQuery = "SELECT [My_Sheet].* " & _
             " INTO My_New_Sheet" & _
             " FROM [My_Sheet] " & _
             " WHERE [Some_Field] = '" & [Some_Possible_Value_For_The_Field] & "'"  & _
             " ORDER BY Rnd(-(100000*" & [Some_Other_Field] & ")*Time())"

Debug.Print sqlQuery
CurrentDb.Execute sqlQuery

使用表单变量时,必须从SQL语句外部读取值。因此,为什么我们用双引号关闭语句,添加字段值,然后再次用双引号打开。

请注意,您需要保留字段限定符。在这种情况下,我假设你的第一个字段是一个字符串,它需要单引号限定符,第二个变量是一个整数,不需要限定符。