1. 程式人生 > >輕鬆 get 報表模糊查詢技能

輕鬆 get 報表模糊查詢技能

在銀行、銷售、倉庫管理等的資料查詢系統中,我們經常會用到精確查詢來準確獲取想要的資料,但是很多時候我們並不記得確切的檢索條件是什麼,這樣的話,必然會對我們獲取資料造成一定的影響,而此時模糊查詢的出現很好的解決了這個難題,因其可以根據使用者輸入的部分關鍵詞,檢索到與之相關聯的所有選項資料,從而使使用者能夠儘可能快地找到所需的資料。與精準查詢相比,更靈活、方便、快捷的模糊查詢,在 sql 中常用 like 條件配合完成此操作。

好了,為了程式猿哥哥可以早日跟加班 say goodbye , 不再做單身汪,讓我們一起 get 新技能吧!接下來,我們以舉栗子的方式看一下在潤乾報表中有哪些地方可以用到模糊查詢,又是如何應用的。

栗子 1 號

基礎應用, 如下(圖一),輸入“張”,檢索出所有姓名包含“張”的資料。

緊接著,我們就一起剝開這個栗子,看一看它是怎麼處理做到模糊查詢的。

首先, 我們把上圖拆分成上下 2 部分,分別是查詢部分 + 資料呈現部分,下面我們先看一下查詢部分的報表檔案樣式及設定,如下:

其中

報表屬性中報表型別為:引數模板;

C2 單元格設定 WEB 變數名 為 name,此設定的目的是將輸入值傳遞給資料呈現部分的報表進而進行資料篩選。 設定完成後將其儲存為 3.4_arg.rpx

緊接著,再來看一看資料呈現部分的報表檔案樣式及設定,如下

其中

第 1 行 行屬性為:分頁頁首,第 2 行 行屬性為:頭標題,第 3-4 行 行屬性為:報表頭,第 5 行 行屬性為:資料區,第 6 行 行屬性為:報表尾,第 7 行 行屬性為:分頁頁尾。

單元格表示式見上圖。

到這裡資料呈現區域的樣子搞定了,接下來,我們看一下查詢部分的 name 傳遞過來後資料呈現區域是怎麼接收應用的,我們先看一下怎麼定義接收 name。

開啟引數設定面板, 新增引數,名稱為 name, 資料型別為字串,引數型別為普通引數,設定後點擊確定,到這裡我們就建好了引數接收的入口了。

注:此處的引數名稱必須與查詢部分的 C2 單元格設定的 WEB 變數名保持一致。

接下來就是怎麼應用接收到的引數做到模糊查詢,此步是需要對查詢資料的 sql 語句進行處理的,處理後的資料集 sql 如下

與此同時定義,對應資料集 sql 的引數接入方式,即定義資料集引數,如下:

注:此處的引數名稱必須與查詢部分的 C2 單元格設定的 WEB 變數名保持一致

如此這個栗子就完成了,最後別忘了將其儲存為 3.4.rpx。之後我們就可釋出 3.4.rpx 看到圖一的效果了。

栗子 2 號

上面栗子 1 號是模糊查詢的一種很很很常規的用法,下面我們對栗子 1 號做一丟丟修飾,變身栗子 2 號,目的是為了當編輯框鍵入“王”時,下拉選項中將所有與之相關的選項篩選出來,以縮短下拉選項較多,通過滾動條尋找某個項使用的時間,如下(圖二)

注:這種應用常常需要與查詢面板的下拉編輯風格結合使用。

具體操作我們看下面:

首先,給上例 3.4.rpx 增加資料集語句如下:

SELECT EMPNAME FROM 員工

然後 C2 的編輯風格由預設的編輯框修改為下拉資料集,如下

11png

之後,點選“設定”,並在彈出介面中指定資料集、顯示列、 資料列同時勾選“允許編輯”,如下

最後,點選確定,儲存為 3.4_arg.rpx,栗子 2 號,就完成了。

回顧總結

然後….. 然後….. , 關於模糊查詢的另一個簡單又實用的栗子再次完美 Ending 了,我們來回顧一下其中不為人知的祕密和操作:

1. 關聯查詢部分和資料呈現部分

【知識點】查詢部分的報表名稱 = 資料呈現部分報表名稱 + _arg, 比如:3.4.rpx 與 3.4_arg.rpx

2. 篩選條件資料傳遞

【知識點】關聯報表引數值通過引數名稱拼配傳遞,如栗子 1 號的引數 name。

3.sql 中模糊匹配儘可能多的選項

【技巧】like 匹配引數前後使用 % 匹配,% 代表匹配 0~ 多個字元。

至此,關於模糊查詢的分享就完了,是不是一不小心,又雙叒叕 get 了新技能,以後是不是可以拒絕加班,拒絕做單身汪了,竊喜吧。

快來加入潤乾大家庭,get 更多快速簡便的報表製作方式吧。