访问报告#Error 文本消息

Posted

技术标签:

【中文标题】访问报告#Error 文本消息【英文标题】:Access Report #Error Text Message 【发布时间】:2017-07-25 16:59:22 【问题描述】:

我正在尝试在 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 具有值且不为空的记录数。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

你说查询是在报表的RecordSource中,那么只需要使用正确的false返回即可。另外,可能不需要查询名称前缀。

=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))

【讨论】:

像魅力一样工作,谢谢!这周我花了大约 12 个小时来解决这个问题——简直不敢相信它这么简单。【参考方案2】:

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))

【讨论】:

SQL 聚合函数可以在表达式中使用。建议的 DSum 语法不正确。

以上是关于访问报告#Error 文本消息的主要内容,如果未能解决你的问题,请参考以下文章

访问:文本在报告中 Can Grow=Yes 的文本框显示中被截断

访问报告文本框中显示的“本月”日期计数

微软访问报表汇总功能

访问:检查文本框是不是为空,如果是则更改文本框背景颜色

在 Python Discord Bot 中按名称而不是 ID 向特定文本通道发送消息

JOptionPane 中的文本换行?