2017-07-25 95 views
0

我试图在Access中使用基于每日查询的一些自定义统计信息构建摘要报告。但是,我遇到了一些困难。当我使用由所述查询构建的报告时,无论公式如何,我都会得到相同的确切数字。访问报告#错误文本消息

我正在构建一个公式来计算字段中的文本值或计算字段中的所有响应,但公式将始终返回18作为值(记录总数),即使我知道它是错误的公式。或者,我将创建一个空白报告,无论我收到#Error还是#Name?值在文本框中。我已经检查过,控件中的名称不是公式或其他任何地方的名称 - 我通常将其重命名为Text0或Demo。

我一直在尝试使用的公式是

=Count(IIf([Daily_Numbers_Query].[Signed_Card] Is Not Null,1,0)); 

凡Daily_Numbers_Query指查询和Signed_Card指的是我想从该查询检查该字段。我希望它告诉我Signed_Card有一个值并且不为null的记录数。

任何帮助将不胜感激。

回答

0

你说的查询是报告的记录源,然后只需要使用正确的虚假重新转。另外,可能不需要查询名称前缀。

=Count(IIf([Signed_Card] Is Not Null, 1, Null))

=Count(IIf(Not IsNull([Signed_Card]), 1, Null))

=Sum(IIf([Signed_Card] Is Not Null, 1, 0))

+0

工程就像一个魅力,谢谢你!本周,我花了大约12个小时的时间把这个问题震惊 - 不敢相信这很简单。 –

0

Count是SQL中的集合函数,但不能直接在表达式中使用它。

为此,您使用的域功能:DCountDSum,...

在这种情况下,最简单的是:

=DCount("*", "Daily_Numbers_Query", "[Signed_Card] Is Not Null") 

如果你想使用IIf,你不得不使用DSum

=DSum(IIf([Daily_Numbers_Query].[Signed_Card] Is Not Null,1,0)) 
+0

SQL聚集函数中表达也是可能的。 DSum建议的语法不正确。 – June7