我使用前端作为Business Objects和后端MS Access数据库。 我有一个字段具有以下语法,当我在查询中提取此字段时收到错误,如“太少参数预期1”
Format(Votes.`Vote Received`,"yyyymm")
此语法正在解析,但在查询中提取此对象时会出错。我认为它与字段名称上的引号相关,但是这个字段是如何命名的。当我在字段查询下方拉动时没有给出错误。
Votes.`Vote Received`
感谢您的投入..
答案 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驱动程序交互方式的问题。