多值模糊查詢(xún)報(bào)表的制作-創(chuàng)新互聯(lián)

在數(shù)據(jù)查詢(xún)系統(tǒng)中,經(jīng)常會(huì)涉及到模糊查詢(xún)和多值查詢(xún)。對(duì)于模糊查詢(xún),我們可能都有所了解。就是根據(jù)用戶(hù)在參數(shù)框中輸入的關(guān)鍵字進(jìn)行模糊匹配,這在SQL中是通過(guò)like條件實(shí)現(xiàn)的。而多值查詢(xún)則大多是一次在參數(shù)框中輸入2個(gè)以上關(guān)鍵詞,以字符串組,整數(shù)組等形式進(jìn)行參數(shù)傳遞,這在SQL中是通過(guò)in條件完成多值匹配的。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了瑯琊免費(fèi)建站歡迎大家使用!

但是用戶(hù)的需求往往是無(wú)止境的!最典型就是把這兩種好使的方法結(jié)合起來(lái),也就是兩種查詢(xún)的結(jié)合–在參數(shù)框中輸入多個(gè)關(guān)鍵字,根據(jù)多個(gè)關(guān)鍵字進(jìn)行模糊查詢(xún)。比如,用戶(hù)要根據(jù)產(chǎn)品名稱(chēng)進(jìn)行多值模糊查詢(xún),當(dāng)輸入為“奶酪,糖”時(shí),希望找出產(chǎn)品名稱(chēng)中含有奶酪或糖的產(chǎn)品列表,如下圖所示:

多值模糊查詢(xún)報(bào)表的制作

為了程序猿哥哥可以早日跟加班say goodbye , 不再做單身汪(咦?為什么我這么熱心?),讓我們一起了解一下潤(rùn)乾報(bào)表是怎么做到兩種查詢(xún)的完美結(jié)合的……

一共需要……1、2、3、4步:

1.定義主表模板:

多值模糊查詢(xún)報(bào)表的制作

其中
1-3行設(shè)置行屬性為報(bào)表頭,其余行為數(shù)據(jù)區(qū)即可。

B3單元格表達(dá)式為:=macro1,目的是顯示查詢(xún)條件的拼接結(jié)果,以便校驗(yàn)最終數(shù)據(jù)是否正確。

A5單元格表達(dá)式為:=ds1.select(產(chǎn)品ID),目的是取數(shù)ds1結(jié)果集中所有的產(chǎn)品。

B5-F5 單元格表達(dá)式為:=ds1.字段名稱(chēng),目的是根據(jù)前面的產(chǎn)品編號(hào)取出對(duì)應(yīng)的產(chǎn)品信息

2.定義參數(shù):

多值模糊查詢(xún)報(bào)表的制作

其中
cpmc是普通參數(shù),就是用戶(hù)填入的查詢(xún)值;

macro1是動(dòng)態(tài)參數(shù),根據(jù)cpmc拼接查詢(xún)條件,值表達(dá)式為:if(cpmc == null or cpmc==””,”1=1″,”產(chǎn)品名稱(chēng) like ‘%”+replace(@cpmc,”,”,”%’ or 產(chǎn)品名稱(chēng) like ‘%”)+”%'”)。這里的動(dòng)態(tài)參數(shù),它不僅是用于在報(bào)表結(jié)果頁(yè)面里面顯示查詢(xún)條件的拼接結(jié)果,而且也用于對(duì)sql進(jìn)行數(shù)據(jù)篩選。

再詳細(xì)說(shuō)明一下:當(dāng)cpmc為空時(shí),返回1=1,表示查詢(xún)?nèi)繑?shù)據(jù),否則先用字符串替換函數(shù)replace()把參數(shù)中的”,”替換為”%’ or 產(chǎn)品名稱(chēng) like ‘%”)+”%'”(注意其中的空格),替換后的結(jié)果再和前后字符串拼接得到最終的查詢(xún)條件。例如當(dāng)用戶(hù)輸入“奶酪,糖”,那么replace的替換結(jié)果就是“奶酪%’ or 產(chǎn)品名稱(chēng) like ‘%糖%’,再和前后字符串拼接得到最終結(jié)果為 產(chǎn)品名稱(chēng)like ‘%奶酪%’ or產(chǎn)品名稱(chēng) like ‘%糖%’。

3.定義數(shù)據(jù)集:

多值模糊查詢(xún)報(bào)表的制作

這里在查詢(xún)條件中用到了參數(shù)的特殊用法${參數(shù)名},相當(dāng)于一個(gè)占位的效果,查詢(xún)時(shí)會(huì)用前面定義的動(dòng)態(tài)參數(shù)內(nèi)容填充到這個(gè)位置。

注:第2 – 3步的設(shè)置均在主表模板中添加。

4.定義參數(shù)模板:

多值模糊查詢(xún)報(bào)表的制作

在報(bào)表工具設(shè)計(jì)區(qū)域右側(cè)的屬性欄中將B2的單元格web變量名設(shè)置為cpmc。

Bingo,多值模糊查詢(xún)就這樣完美地實(shí)現(xiàn)了!

回顧

我們來(lái)回顧一下其中遇到的問(wèn)題和解決的技巧:

1、數(shù)據(jù)集SQL實(shí)現(xiàn)動(dòng)態(tài)取數(shù):

使用參數(shù)的${參數(shù)名}用法

2、 查詢(xún)條件為空,查詢(xún)?nèi)浚?/strong>

使用參數(shù)1=1的用法

3、多值匹配:

以“,”分割多個(gè)查詢(xún)關(guān)鍵字,拼接成多個(gè) or 相連的like條件。

最后我們發(fā)現(xiàn),其實(shí)這里僅僅用了潤(rùn)乾報(bào)表的參數(shù)特殊用法和SQL查詢(xún)條件的拼接,是不是一不小心,又雙叒叕get了新技能?這樣下去,用不了多久是不是就可以拒絕加班,拒絕做單身汪了,竊喜吧。

快來(lái)加入潤(rùn)乾大家庭,get更多快速簡(jiǎn)便的報(bào)表制作方式吧。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:多值模糊查詢(xún)報(bào)表的制作-創(chuàng)新互聯(lián)
URL鏈接:http://bm7419.com/article0/dehpoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站做網(wǎng)站、網(wǎng)站改版營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)