1. pb中如何通過FILTER()函數過濾和清除過濾
FILTER()函數過濾和清除過濾方法如下:
dw.setfilter(" name = 'lily' ")
dw.filter() // 查找名字叫lily的數據
dw.setfilter("")
dw.filter() //取消過慮
如果有多個過濾條件 ,可通過and連接起來一起執行:
string DWfilter2
DWfilter2 = "cust_qty > 100 and cust_code >30"
dw_Employee.SetFilter(DWfilter2)
dw_Employee.Filter( )
2. PB怎樣設置多個過濾條件
用拼寫where 條件的方法.以下是思路和例子.
思路:首先得到數據窗口的原始數據源sql語句.譬如你要對dw_1的數據進行多條件過濾.就在事件中寫:
string ls_sql
ls_sql = dw_1.getsqlselct()//此時ls_sql變數得到dw_1的sql語句.
然後將條件拼成一個and 語句 例子:
譬如年齡欄位,性別欄位和班級欄位.(這只是個例子,希望你能明白意思,然後為你所用)
分別為age,sex,class
此時用戶已經選完了這三個條件的值(此處可以多種方法實現.1讓用戶直接輸入。單行編輯框 2。多選框。3.下拉列表框.等等)
譬如用戶選擇的是age = 24,sex = 1(1-為男,0為女),class = 2
此時拼串!
例子:
string ls_sql,ls_sql_new,ls_condition
string ls_age,ls_sex,ls_class
ls_sql = dw_1.getsqlselect()//得到默認的數據窗口sql語句。
ls_age = '24'
ls_sex ='1'
ls_class ='2'
ls_condition =" age='"+ls_age+"' and sex = '"+ls_sex +"' and class = '"+ls_class+"'"//條件拼寫完成
ls_sql_new = ls_sql +" where "+ ls_condition //這里注意拼寫的時候where 後面 and 前後都要加個空格!
dw_1.setsqlselect(ls_sql_new)//將拼成的串 設置成新的數據窗口sql語句 此時就是多個過濾條件的結果!
【如有問題還可以再問我】
3. pb中怎樣讀取過濾後符合條件的行數
過濾之後,直接用rowcount函數就可以獲取總行數了!
4. PB的過濾問題,求高手修改!
你這里不是寫死了嗎:ls_filter= "(shortname like '%李%')"
改成這樣試試ls_filter= "(shortname like '%「+this.text+」%')"
5. 請問在pb的數據窗口中怎麼對日期型的數據進行過濾,請舉例說明。謝謝~~!
先給你個函數來,字元型轉日期型自的函數:
參數string uodate,返回date型,你可以根據自己的需要改成datetime型
return date(left(uodate,4)+'-'+mid(uodate,5,2)+'-'+mid(uodate,7,2))
再來一個日期型轉字元型的函數:
參數:date rq【日期】,time sj【時間】
return string(year(rq))+right(('00'+string(month(rq))),2)+right(('00'+string(day(rq))),2)+right(('00'+string(hour(sj))),2)+right(('00'+string(minute(sj))),2)+right(('00'+string(second(sj))),2)
以上是全局函數,你自己可以改成非全局的,看你自己。
你將你的編輯框中的字元型日期轉換成日期型的,然後就可以setfilter了。
ls_sql="欄位名>date('" + ls_time + "')"
要這么寫才行!
我在設計資料庫的時候一般都不會用日期型的欄位,所有欄位都盡量用字元型的!
6. 關於pb多條件過濾的問題,急!!!
用拼寫where 條件的方法.以下是思路和例子.
思路:首先得到數據窗口的原始數據源sql語句.譬如你要對dw_1的數據進行多條件過濾.就在事件中寫:
string ls_sql
ls_sql = dw_1.getsqlselct()//此時ls_sql變數得到dw_1的sql語句.
然後將條件拼成一個and 語句 例子:
譬如年齡欄位,性別欄位和班級欄位.(這只是個例子,希望你能明白意思,然後為你所用)
分別為age,sex,class
此時用戶已經選完了這三個條件的值(此處可以多種方法實現.1讓用戶直接輸入。單行編輯框 2。多選框。3.下拉列表框.等等)
譬如用戶選擇的是age = 24,sex = 1(1-為男,0為女),class = 2
此時拼串!
例子:
string ls_sql,ls_sql_new,ls_condition
string ls_age,ls_sex,ls_class
ls_sql = dw_1.getsqlselect()//得到默認的數據窗口sql語句。
ls_age = '24'
ls_sex ='1'
ls_class ='2'
ls_condition =" age='"+ls_age+"' and sex = '"+ls_sex +"' and class = '"+ls_class+"'"//條件拼寫完成
ls_sql_new = ls_sql +" where "+ ls_condition //這里注意拼寫的時候where 後面 and 前後都要加個空格!
dw_1.setsqlselect(ls_sql_new)//將拼成的串 設置成新的數據窗口sql語句 此時就是多個過濾條件的結果!
7. pb 的數據窗口報表 的過濾問題,怎麼使用pos函數進行過濾
設置一個filter
這個不用pos
在cb中回clicked()寫:答
string ls_filter
ls_filter= "contract_no like '%-%'"
dw_3.setfilter(ls_filter)
dw_3.filter()
8. pb 過濾疑問
如果你想使用%或下劃線這種字元,請在前面加上~專
原文:屬
If you need to use the % or _ characters as part of the string, you can use the escape keyword to indicate that the character is part of the string.
即: name like ~'張%~'
9. pb取出數據窗口過濾後顯示的數據
不可能是這樣的哦,你用getrow()得到的應該是你現在看到的主緩沖區的數據.
你是用的getrow()嗎?
10. PB中用過濾查詢方式 得出了查詢結果,但如何進行再次查詢呢,這代碼怎麼寫,新手求指導。
你重新執行dw_2.ratrieve()就行了,先取數,再過濾
這樣多少次都能正常執行