gpt4 book ai didi

c# - Nz 和 IIF 的替代方案(为空)

转载 作者:行者123 更新时间:2023-12-02 11:07:01 26 4
gpt4 key购买 nike

我在 Access 中有一个查询,其中一个字段包含一个子查询,返回相关表中特定字段的总和。子查询的结果用于主查询中的进一步计算。

这用于使用 ADO.Net 的 VB.Net(C# 也可以)中的自制报告应用程序。查询存储在 Access 的表中,以便我们能够纠正小错误或添加与数据相关的临时功能,而无需再次发布应用程序。

问题是子查询可能没有返回结果(null)。此外,计算中使用的空值也将返回空值。因此,如果需要,我需要将 null 值替换为 0。我添加了 NZ(subquery, 0),但 ADO.Net 抛出以下异常:

Undefined function 'NZ' in expression

我了解到不可能在 ADO.Net 中使用 VBA 函数,因为它是 Access.Application 对象的一部分。

我还考虑过使用IIF(subquery Is Null, 0, subquery),但这会迫使我复制子查询,并强制 Access 执行子查询两次(可能).由于子查询相当复杂(主查询也是如此),我想避免这种情况,至少是为了可读性(如果不是性能)。

是否有另一种方法可以用另一个值替换空值,或者确保我的子查询即使没有匹配的记录也始终返回非空总和?

最佳答案

抱歉,没有其他办法了。最干净的方法是

Iif(IsNull([Data]), 0, [Data])

NZ 是 Access 代码库特有的函数,因此您将无法使用它。

关于c# - Nz 和 IIF 的替代方案(为空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18873279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com