读书人

怎么设置多重过滤条件

发布时间: 2013-06-26 14:29:32 作者: rapoo

如何设置多重过滤条件?
刚学PB没多久,遇到一个问题,希望各位前辈指点
我有一个数据窗口,包括name、sex、age、class这几个列
想设置过滤的功能
如果在age项 输入 18 就 输出18岁的人
再在sex项中 输入 男 就输出18的男生

这几个过滤条件 不需要同时输入 ,输入一项自动输出结果
并且 不考虑输入的顺序

string ls_filter
ls_filter = 'Describe("' + "evaluate('lookupdisplay(age)'," + '" + string(getrow ()) + ")") like "%'+sle_3.Text+'%"'
dw_1.SetFilter(ls_filter)
dw_1.Filter()

我在每个sle中是这么写的,可是过滤出来有问题
请各位前辈指点
[解决办法]
新建数据窗口的时候可以在条件检索中选择按多个条件检索。
[解决办法]
没看懂怎么设置多重过滤条件
[解决办法]
给你提供一个新思路。首先,在我从业的时间内,我从来不用filter,因为效率不好。在此我就不解释这个了。对于动态条件检索,我惯用的方法是使用数据窗口的2个函数,一个是getsqlselect,另一个是setsqlselect。前一个是用来获取数据窗口原始语法的,后者是用来组后动态and条件重设数据窗口语法的,重设语法后,立即执行检索,在得到查询结果后,再次调用setsqlselect将原始语法设置回去,以便下次执行。其中有一点需要注意的是,在你用getsqlselect提取数据窗口语法之前一定要让数据窗口绑定事物,就是那句dw.settransobject()。否则你会得到不一样的sql。
[解决办法]

引用:
给你提供一个新思路。首先,在我从业的时间内,我从来不用filter,因为效率不好。在此我就不解释这个了。对于动态条件检索,我惯用的方法是使用数据窗口的2个函数,一个是getsqlselect,另一个是setsqlselect。前一个是用来获取数据窗口原始语法的,后者是用来组后动态and条件重设数据窗口语法的,重设语法后,立即执行检索,在得到查询结果后,再次调用setsqlselect将原始语法设置回去,以便下次执行。其中有一点需要注意的是,在你用getsqlselect提取数据窗口语法之前一定要让数据窗口绑定事物,就是那句dw.settransobject()。否则你会得到不一样的sql。
正解
[解决办法]
顶楼上的,通过getsqlselect 以及set sqlselect减少网络流量

读书人网 >PB

热点推荐