【问题标题】:No value given for the required parameter没有为所需参数指定值
【发布时间】:2012-09-05 22:06:20
【问题描述】:

我正在尝试对 access 数据库运行下面的 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

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    您输入了错误的列之一,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))
    

    还要确保处理分母,以免除以零。

    【讨论】:

    • 我也认为是这个问题。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2012-09-17
      • 2019-05-02
      相关资源
      最近更新 更多