【问题标题】:#Error in access report on empty record/0 value Access 2000#空记录访问报告错误/0值访问2000
【发布时间】:2015-07-31 21:34:11
【问题描述】:

当我检查值是否大于 0 时,我不断在使用查询/数据库字段的计算填充的文本框上收到 #Error。

所以我得到了以下子表单:

在这个子表单中,用户插入他的产品,在前一个填充的行之后,子表单总是生成第二个(空的)。

插入的产品正在报告中显示:

如您所见,“空”行会产生错误。我认为这是因为它给出错误的行是一个计算字段。

我想修复它,对其中一个计算字段进行 if 大于 0 检查。为了使它更清楚, oppervlakte = area 通过乘以 width * height * product count 来计算它 - 所有这些字段在空行上都是 0(或 NULL?)。

这是我尝试在#error 字段上执行的操作:

=IIf([BreedteCoating]>0;[BreedteCoating]*[HoogteCoating]*[AantalEenheden]/1000000;"")

因此,如果宽度 (Breedte) 大于 0,则计算该字段,否则将其留空。这似乎不起作用。

如果值为 0 或 NULL,我如何使这个计算字段工作(没有 #Error)有什么线索吗?

【问题讨论】:

  • 试试 nz([BreedteCoating],0) > 0;....
  • 这似乎不起作用。内联 NZ 根本不接受 NZ 函数(可以移动到文本框属性中的另一行。像这样调整它=Iif(Nz([BreedteCoating],0) > 0;[BreedteCoating]*[HoogteCoating]*[AantalEenheden]/1000000); "") 当我在调整后单击属性时它只是回到旧的 IIF。跨度>
  • NZ 如果参数为空,则返回一个定义的值。所以你的 if 条件看起来像。 IIF(nz(argument,0) > 0;真值;否则值)。在你最后一次尝试中,你有一个额外的“)”,因此它恢复到最后一个工作代码。
  • 嗯错过了最后一个),但即使我删除了),它仍然不接受它

标签: ms-access report calculated-field


【解决方案1】:

修正了它的计算方式有点不同。在报表本身的查询中进行了计算,这样我就可以直接在我的报表中使用计算字段,它也可以正确处理 null/0 值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多