本文主要介紹如何在pb中根據數據窗口中的字段對數據窗口進行模糊查詢
本系統的代碼示例采用Power Builder
進行演示
代碼及設計
新建一個窗口命名為w_query在窗口中放入一個數據窗口控件命名為dw_master在dw_master中放入一個數據窗口放置一個按鈕命名為cb_query見下圖
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391295.jpg)
新建一個結構(structure)命名為str_result_column其參數如下
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391273.jpg)
在dw_master增加兩個用戶事件命名為ue_action_queryue_action_refresh
在cb_query中增加如下代碼
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391208.jpg)
在窗口的Open事件中增加如下代碼
dw_mastersetTransObject(sqlca)
在dw_master的ue_action_query中增加如下代碼
str_result_column lstr_
//結構str_result_column的成員adw_result指查詢結果所產生作用的dw
// 成員adw_column指在本窗口查詢條件所要顯示的dw
lstr_adw_result = this
lstr_adw_column = this
OpenWithParm(wroot_dw_query lstr_)
在dw_master的ue_action_refresh事件中增加如下代碼
dw_masterretrieve()
新建一個窗口命名為wroot_dw_query該窗口用以進行模糊查詢其設計完成後界面如下所示
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391254.jpg)
其中執行按鈕名為cb_exec返回按鈕名為cb_exit返回按鈕下的數據窗口名為dw_column其dataObject為d_column_set中間的數據窗口名為dw_where其dataObject為d_where
d_column_set的設計完成界面如下所示
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391241.jpg)
其sql為
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391230.jpg)
dw_where的設計完成界面如下
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391220.jpg)
其sql為
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013111312391252.jpg)
在PB中如何實現數據模糊查詢(二)
在PB中如何實現數據模糊查詢(三)
在PB中如何實現數據模糊查詢(四)
在PB中如何實現數據模糊查詢(五)
From:http://tw.wingwit.com/Article/program/SQL/201311/16318.html