Access 2003 VBA SQL“参数太少”错误

Posted

技术标签:

【中文标题】Access 2003 VBA SQL“参数太少”错误【英文标题】:Access 2003 VBA SQL "Too few parameters" error 【发布时间】:2012-01-09 21:18:47 【问题描述】:
Dim sort_slots_sql As String
sort_slots_sql = _
    "select date, part, service, slot" & _
    " from ass_slots, ass_occasions" & _
    " where ass_slots.occasion = ass_occasions.occasion" & _
    " order by slot, service, date, part"
Set slots_rst = db.OpenRecordset(sort_slots_sql)

这给出了参数太少的错误。一个是预期的。在代码的另一个地方,有一个几乎相同的情况,但是,两个参数是预期的!

【问题讨论】:

【参考方案1】:

我不能确切地说,但我 99% 确定问题是您在该查询中包含了一个在表中不存在的字段名称。检查所有字段名称并确保它们的拼写与表格中的完全一致。

“日期”字段也很可能是可疑的,因为它是 Access 中的保留字。我建议不要将字段命名为“日期”。但是,如果您坚持使用该名称,请在所有查询中用方括号将其括起来,如下所示:

Dim sort_slots_sql As String
sort_slots_sql = _
    "select [date], part, service, slot" & _
    " from ass_slots, ass_occasions" & _
    " where ass_slots.occasion = ass_occasions.occasion" & _
    " order by slot, service, [date], part"
Set slots_rst = db.OpenRecordset(sort_slots_sql)

【讨论】:

正确,在其中一个表中,有一列被命名为“datum”(瑞典语表示日期)。非常感谢! 你打赌。看到这个错误一百万次。祝你的应用好运。 哇,你看到了很多错误。你看过《太多双关语》吗? ;) @onedaywhen Err number 69,也许?

以上是关于Access 2003 VBA SQL“参数太少”错误的主要内容,如果未能解决你的问题,请参考以下文章

MS Access SQL 参数太少。预计 4

odbc_exec():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 参数太少。预期 1.,SQLExecDirect 中的 SQL 状态 0700

使用 VBA (MS Access) 中的 bigint 字段更新 SQL 表

SQL 语句中的参数太少

参数太少。预计 1 个 CSV 导入

使用宏或 VBA 正确关闭 access 2003 中的隐藏窗口?