ms-access - 仅在不为空时添加
问题描述
我正在尝试在表单中设置一个文本框以显示一系列其他文本框的总数。如果没有值,我希望该框为空,但任何值都需要显示,即使只有一个贡献源具有值。
假设有三个贡献框:txtScore1
,txtScore2
和txtScore3
, 和 sum 框txtTotal
。在数据出现在任何分数框中之前,它们包含一个空值。所以我尝试将txtTotal
控制源设置为:
=Iif(Not IsNull([txtScore1]),[txtScore1])+
Iif(Not IsNull([txtScore2]),[txtScore2])+
Iif(Not IsNull([txtScore3]),[txtScore3])
但这仅在所有三个都有值时才给出一个值,如任何值 + Null = Null。如果我向它们添加 0 的 FalsePart,则即使三个都是空的,值txtTotal
也始终为 0。我必须在整个事情之前添加一个Iif(IsNull([txtScore1]) and IsNull([txtScore2]) and IsNull([txtScore3]),null,...
,还是有更好的方法?
解决方案
该NZ
函数可以处理这种情况,假设您可以使用它:
=Iif(IsNull([txtScore1]) AND IsNull([txtScore2]) AND IsNull([txtScore3]),
NULL,
Nz([txtScore1], 0) + Nz([txtScore2], 0) + Nz([txtScore3], 0))
Nz
是标准COALESCE
函数的Access版本,它使用第二个参数作为值应该第一个参数是NULL
。查看Tech On The Net页面,了解如何使用它的一些示例。
推荐阅读
- arrays - 如何正确分配不是从索引 1 开始的数组范围到 excel 范围?
- go - Arithmetic on uint8, int8
- java - Java中的重复文件通道
- linux - 如何将linux系统文件覆盖到yocto文件系统中?
- ios - 在表视图控制器中列出计划的通知
- javascript - Indexeddb游标等待响应?
- php - 使用 getStaticProperties 和 getStaticPropertyValue ReflectionClass 函数的静态变量的可见性问题
- c - setenv() 与 putenv() - 哪个用于跨平台环境编辑?
- reactjs - 使用 React Hooks 时来自 ESLint 的警告消息
- angular - Ionic 4 FAB 列表动态更改内容