2012-09-05 76 views
2

我试图对访问数据库运行下面的qry,并且出现错误没有值为给定的参数给定了吗?没有给出所需参数的值

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 

回答

5

您错误地键入了其中一列,并且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)) 

此外,请确保你处理分母,所以你不分b y零。

+0

我也认为这是问题所在。 – Fionnuala

+0

那是谢谢你 – user1342164

3

通常的原因是您拼错了某个字段名称,因此Access认为它是一个参数(未指定)。

有两种方法来解决这个问题:

  • 手动检查埃维字段名,以确保它拼写正确或
  • 开始从查询中删除字段,直到问题消失。删除的最后一个字段是罪魁祸首。
+0

谢谢你是它 – user1342164

相关问题