2

我正在尝试针对访问数据库运行下面的 qry,但出现错误 No value Given for the required parameter?

SELECT        ID, DateColumn, Less90, Between90180, Between180365, GreaterThan365, SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365) 
                     AS Total, SUM(Between180365) / Total AS Expr1,
                         (SELECT        SUM(Between180365) / (SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365))
                           FROM            tblHandpieceFaliuresAge T2
                           WHERE        T2.ID <= tblHandpieceFaliuresAge.ID) AS RunningSum
FROM            tblHandpieceFaliuresAge
GROUP BY ID, DateColumn, Less90, Between90180, Between180365, GreaterThan365
4

2 回答 2

7

您输入的列之一不正确,Access 认为您正在尝试传递参数。

再次检查您的字段名称,并确保它们都已正确输入。

我相信问题可能是这样的:

SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365) 
                 AS Total

然后您稍后将其称为Total此处:

SUM(Between180365) / Total

Access 不能获取别名并在查询中重新使用它,你需要这个:

SUM(Between180365) / 
    (SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365))

还要确保你处理分母,这样你就不会被零除。

于 2012-09-05T14:05:55.283 回答
3

造成这种情况的通常原因是您拼错了一个字段名称,因此 Access 认为它​​是一个参数(未指定)。

有两种方法可以解决此问题:

  • 手动检查每个字段名称,以确保拼写正确或
  • 开始从查询中删除字段,直到问题消失。删除的最后一个字段是罪魁祸首。
于 2012-09-05T14:06:20.930 回答