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()就行了,先取数,再过滤
这样多少次都能正常执行