Lotus Notes视图中!@IsNull仍显示空行问题求助
Lotus Notes视图空行过滤问题解决
问题根源
你当前使用的选择公式!@IsNull(cert: cert_1: cert_2: cert_3: cert_4: cert_5: cert_6: cert_7: cert_8: cert_9)存在两个核心问题:
- @IsNull的列表判断逻辑:当传入多字段列表时,@IsNull仅在所有字段均为Null时返回True;但如果字段是**空白字符串("")**而非未赋值的Null,@IsNull会判定为非空,导致这类文档被错误选中。
- 视图缓存干扰:Notes视图可能存在缓存,导致修改后的公式未立即生效。
修正方案
替换原有选择公式为以下两种可行方案之一:
方案1:同时过滤Null与空白字符串(简洁版)
SELECT @IsNotMember("", @Trim(cert: cert_1: cert_2: cert_3: cert_4: cert_5: cert_6: cert_7: cert_8: cert_9))
@Trim用于去除字段内容的前后空格,避免因空格导致的误判@IsNotMember("", ...)确保列表中不存在任何空值(包括空白字符串和Null)
方案2:逐个字段判断(直观版)
如果需要更清晰的逻辑,可使用逐个字段的或条件:
SELECT !@IsNull(cert) | !@IsNull(cert_1) | !@IsNull(cert_2) | !@IsNull(cert_3) | !@IsNull(cert_4) | !@IsNull(cert_5) | !@IsNull(cert_6) | !@IsNull(cert_7) | !@IsNull(cert_8) | !@IsNull(cert_9)
若要同时过滤空白字符串,可扩展为:
SELECT (@Trim(cert) != "") | (@Trim(cert_1) != "") | (@Trim(cert_2) != "") | (@Trim(cert_3) != "") | (@Trim(cert_4) != "") | (@Trim(cert_5) != "") | (@Trim(cert_6) != "") | (@Trim(cert_7) != "") | (@Trim(cert_8) != "") | (@Trim(cert_9) != "")
额外验证步骤
- 强制刷新视图:按
F9清除Notes视图缓存,确保公式生效 - 检查文档字段:打开空行对应的文档,确认
cert至cert_9字段是否为空白字符串,必要时调整表单字段默认值为Null(而非空字符串)
内容的提问来源于stack exchange,提问作者hjh93
相关产品推荐
相关产品推荐

