NVL函式的使用方法:NVL(value1,value2,value3,...):在所有引數中返回第一個不是null的值,下面通過報表開發軟體FineReport以填報的示例來說明nvl多引數的用法。
工具/原料
報表開發軟體FineReport7.1.1
大小:148.2M 適用平臺:windows/linux
方法/步驟
需求
填報應用中,可能會遇到一組單元格中,只需將其中不為空的值儲存至資料庫的某個欄位,如下圖所示,對於語文成績級別這個欄位,可能有四個值,入庫的時候只儲存選擇的級別。
建立資料
在資料庫中,新建如下資料:
然後,新增其報表資料集ds1
表樣設計
如下圖所示,拖動欄位到對應單元格並做相應合併:
控制元件設定
設定B5、C5、E5、E6、E7、E8為文字型別控制元件即可。
條件屬性設定
對E5單元格,設定條件屬性:不等於4時,顯示為空,如下:
對E6單元格:設定為不等於3時,顯示為空;E7單元格:設定為不等於2時,顯示為空;E8單元格:設定為不等於1時,顯示為空。
報表填報屬性設定
在NUMBERQ的值中,輸入=nvl(e5,e6,e7,e8),取出第一個不為空的值進行填報,如下:
儲存與預覽模板
在設計器中,點選填報預覽,效果:
點選增加記錄後,點選提交,如下:
提交成功時,效果如下:
重新整理頁面:
可見提交成功,提交值就是第一個不為空的值4,如下: