【发布时间】:2018-02-23 03:05:32
【问题描述】:
所附图片显示了在工厂采取各种行动时的一堆时间戳。
FINISHED 列值由下面发布的 IIF 语句填充。
=IIf(IsNull([DateStampCleaning]),0,IIf(([DateStampCleaning]>=[Forms]![frmIndividualBuildActivity]![txtFrom]) And ([DateStampCleaning]>=[Forms]![frmIndividualBuildActivity]![txtTo]+1),0,[quantity]))
如果“清洁开始”中没有值或日期不在您在表单顶部看到的日期,则该列值设置为 0。
IIF 语句似乎工作正常,但是当我尝试对列求和时,我只是得到#Error
为清楚起见 - 蓝色框中的项目显示 0,因为日期超出了我们的范围。红色框中的项目显示数量列中的数字。
包含IIF 语句的文本框称为txtFinished,在底部的总框中(带圆圈)我只是在控制源中有=Sum([txtFinished])。
谁能告诉我我哪里出错了?
顺便说一句,左侧的 QTY 总数非常有效,直到我尝试将看起来很奇怪的 FINISHED 列总数。
将非常感谢一些指点。
【问题讨论】:
-
确保您尝试对其进行数学运算的所有值都是非空值和数字。
-
非常感谢。这个问题涉及的框 - 以及我正在执行求和的框 - 是“[txtFinished]”,其格式为“固定为 0 个小数位”。我尝试将其更改为通用编号,但这没有帮助。构成总和一部分的另一个框“数量”也是“通用数字”。我同意你关于 Null 的观点,但据我所知,假设我做得正确,我的 IIF 语句用零代替 Null?
-
Incidentally, the QTY total on the left works perfectly until I try and total the FINISHED column which seems strange.这是标准的访问行为,如果一个聚合失败,它们都会失败。 -
感谢大家迄今为止的意见,尽管这些答案都不能解决问题。