1. 概述
1.1 函数作用
填报应用中,可能会遇到一组单元格中,只需将其中不为空的值保存至数据库的某个字段。
1.2 函数解释
NVL 函数的使用方法:
NVL(value1,value2,value3,...) 指在所有参数中返回第一个不是 null 的值。
注:6.5 之前的版本 NVL 只支持 2 个参数,现在升级到支持多个参数。
2. 示例
2.1 创建数据
1)在数据库中新建一个表,表名为 C,如下图所示:
2)添加其报表数据集 ds1,SQL 语句为:select * from C
2.2 表样设计
如下图所示,拖动字段到对应单元格并做相应合并,如下图所示:
2.3 控件设置
设置 B5、C5、E5、E6、E7、E8 为文本类型控件即可,如下图所示:
2.4 条件属性设置
1)对 E5 单元格,设置条件属性:不等于 4 时,公式为:$$$!=4,赋新值为空,如下:
2)对 E6 单元格:设置为不等于 3 时,公式为:$$$!=3,赋新值为空。
3)对 E7 单元格:设置为不等于 2 时,公式为:$$$!=2,赋新值为空。
4)对 E8 单元格:设置为不等于 1 时,公式为:$$$!=1,赋新值为空。
2.5 其他属性设置
为了保证“优秀”等不设置控件的单元格在添加记录时能默认添加,可设置「单元格属性表-其他属性>插入行策略>原值」,如下图所示:
2.6 报表填报属性设置
在 NUMBERQ 的值中,输入=NVL(E5,E6,E7,E8),取出第一个不为空的值进行填报,如下图所示:
2.7 效果预览
2.7.1 PC 端
保存模板,点击「填报预览」,效果:
点击增加记录后,点击提交,如下:
提交成功时,效果如下:
刷新页面,可见提交成功,提交值就是第一个不为空的值 3,如下:
2.7.2 移动端
App 与 HTML5 端效果相同,如下图所示:
3. 模板下载
点击下载模板:NVL函数.cpt