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

Posted

技术标签:

【中文标题】Access 2007 中的报告和图形 - 计算查询值【英文标题】:Report and Graphic in access 2007 - calculating values on queries 【发布时间】:2012-07-25 23:18:19 【问题描述】:

描绘一个包含字段(Id、Valid、Value)的表格

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

我想要的是一份报告,它计算 (valid = 0) 的记录数,然后给我 (value = 70) 的案例数。

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

我知道要计算第二个值 (value>=70),但问题是我不能简单地做(总记录数 - 值

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

【问题讨论】:

【参考方案1】:

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

使用WHERE 子句排除“值”字段为空的行。

这是tblMetraton 的示例数据。

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

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

您可以在查询中使用Count() 函数,并利用它只计算非空值这一事实。因此,将Count()IIf() 表达式一起使用,该表达式为您要匹配的条件返回一个非Null 值(我使用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

如果我的示例数据无法解决您正在处理的可变性问题,和/或如果我的查询结果不符合您的要求,请向我们展示您自己的示例数据以及基于该示例的您想要的结果。

【讨论】:

解决了我关于报告的问题。但我也想在图表上显示结果。我只想显示 below_70 和 at_least70,说从 4 个案例中,有 3 个在 below 和 1 个 at_least。并显示百分比...但访问仅显示以下或 at_least 选项,而不是两者...如何根据两个计算字段制作图表?抱歉这个愚蠢的问题,但我真的被困在这里...... 我可以帮助解决数据问题,但不能帮助解决图表问题。但是我意识到你需要回答这两个问题。我可以删除我的答案,以便您对问题的图表部分产生更多兴趣。如果你愿意,我很乐意这样做。 没问题,让我们再等几天看看有没有人帮忙解决图表问题! :)

以上是关于Access 2007 中的报告和图形 - 计算查询值的主要内容,如果未能解决你的问题,请参考以下文章

access 2007 报告中的 if 语句

Powershell 与 Access 2007 的交互,如何将报告另存为 PDF?

实现 Access 2007“HTML 报告”的更好方法

以编程方式执行 Access 2007 报告并将该报告导出为 PDF?

如何在 MS Access 2007 中创建报告?

为啥值没有从报告中导出 - Access 2007