访问2007中的报告和图形 - 计算查询值

时间:2012-07-25 23:18:19

标签: ms-access report ms-access-2007

用包含字段(Id,Valid,Value)的表格图片

有效=布尔值 值=从0到100的数字

我想要的是一个报告,它计算记录的数量(有效值= 0),然后给出案例总数(值<70)和案例数量(值> = 70) )。

问题是某些记录的“value”字段可能为空,我只想要值字段不为空的记录。

我知道第二个值(值> = 70)将被计算,但问题是我不能简单地做(记录总数 - 值<70的记录数),因为有“value”为空的记录问题......

然后我想用这些值创建图形,以查看低于和高于70的记录百分比。

1 个答案:

答案 0 :(得分:0)

问题是某些记录的”value“字段可能为空,我只想要值字段不为空的记录。

使用WHERE子句排除“value”字段为Null的行。

以下是tblMetraton的示例数据。

Id Valid Valu
 1    -1    2
 2     0    4
 3    -1    6
 4     0
 5     0   90

我使用Valu作为字段名称,因为Value是保留字。

您可以在查询中使用Count()函数,并利用它只计算非Null值的事实。因此,将Count()IIf()表达式一起使用,该表达式为您要匹配的条件返回非空值(我使用1),否则返回Null。

SELECT
    Count(IIf(Valid=0,1,Null)) AS valid_false,
    Count(IIf(Valu<70,1,Null)) AS below_70,
    Count(IIf([Valu]>=70,1,Null)) AS at_least70
FROM tblMetraton AS m
WHERE (((m.[Valu]) Is Not Null));

根据tblMetraton中的示例数据,该查询为我提供了此结果集。

valid_false below_70 at_least70
          2        3          1

如果我的样本数据无法解决您正在处理的可变性,和/或如果我的查询结果与您的要求不符,请根据该样本向我们展示您自己的样本数据和所需的结果。< / p>