以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  求助filterfor函数  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=27012)

--  作者:ycs5801
--  发布时间:2014/3/14 11:00:00
--  求助filterfor函数
现在想筛选行,比如以第一列数据为条件,我想筛选出所有第一列的前4位字符是abcd的行,怎么设计呢?帮助文件中那些条件都不好用啊
--  作者:dancedy
--  发布时间:2014/3/14 11:04:00
--  

FilterFor("第一列","like","abcd*",2)

 

 

 

 

FilterFor函数

在当前表中筛选符合条件的行。

Filterfor(CompareCol,CompareMode,CompareValue,...)

CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
Option       可选参数,如果在执行该函数之前已经进行过筛选,那么:
             0 必须同时满足本次和之前的筛选条件
             1 满足本次和之前的筛选条件中的任何一个即可
             2 只需满足本次筛选条件既可
             4、查询结束后出现提示窗口

例如:
FilterFor("结账","=",-1)
筛选出已经结帐的纪录。

[此贴子已经被作者于2014-3-14 11:04:10编辑过]

--  作者:ycs5801
--  发布时间:2014/3/14 11:06:00
--  
多谢大侠,like的含义是什么呢?这样搜索出的结果是不是从第一位开始算起的?如果设置多个搜索关键字呢?
--  作者:iyplx2425
--  发布时间:2014/3/14 11:48:00
--  

do(112) And AddCol(GridName,"p",3, False ) And EvalFor(GridName,"p","Left([第一列],4) = ""abcd""") And FilterFor("p", "=" , - 1) And DeleteCol(GridName,"p")


--  作者:dancedy
--  发布时间:2014/3/14 11:55:00
--  

如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。

 

这样查找是从第一位开始计算,如果不是从第一位开始,可以设置为 “*abcd*”


--  作者:ycs5801
--  发布时间:2014/3/14 12:27:00
--  
filterfor("第二列“,”like“,”101a*“ or "101b*",2)             这样写可以吗?多个关键字查询
--  作者:dancedy
--  发布时间:2014/3/14 14:30:00
--  
filterfor("第二列","like","101a*")  and filterfor("第二列","like","101b*",1)