预期的参数太少1

时间:2012-07-31 04:22:39

标签: ms-access syntax-error

我使用前端作为Business Objects和后端MS Access数据库。 我有一个字段具有以下语法,当我在查询中提取此字段时收到错误,如“太少参数预期1”

Format(Votes.`Vote Received`,"yyyymm")

此语法正在解析,但在查询中提取此对象时会出错。我认为它与字段名称上的引号相关,但是这个字段是如何命名的。当我在字段查询下方拉动时没有给出错误。

Votes.`Vote Received` 

感谢您的投入..

3 个答案:

答案 0 :(得分:1)

如果它适用于其他任何人。我有同样的问题“参数太少”,如果使用反向报价进行字段转义和单引号来定义日期格式,它会有效。不知道它为什么有效,但你可以试试。

Format(tableused.`fieldused`, 'mm/dd/yyyy')

答案 1 :(得分:0)

根据this你需要用反引号逃脱:

Format(Votes.`Vote Received`, "yyyymm");

答案 2 :(得分:0)

尝试使用方括号而不是围绕字段名称的反引号。

Format(Votes.[Vote Received],"yyyymm")

如果这不能解决错误,请检查查询SQL中所有项目的拼写。

我不明白为什么Format()仍然失败了。您可以使用不同的方法来生成“yyyymm”格式。将“0”与Month()的输出连接起来,并取最右边的2个字符。

SELECT
    Year(Votes.[Vote Received]) &
        Right("0" & Month(Votes.[Vote Received]), 2)
        AS year_month
FROM YourTable;

由于第二个查询也失败了,因此可以直接在Access中将其作为新查询进行尝试。如果该尝试失败,至少它会让你知道db引擎认为哪个项目是缺少的参数...它将显示一个标题为“输入参数值”的消息框,在该标题下面你会找到“失踪”的名称参数”。并且,如果它直接在Access中运行时没有失败...也许这是Business Objects与MS Access ODBC驱动程序交互方式的问题。