急!TADOTable过滤如何实现?

tripman 2003-04-09 11:48:11
ADOTable.Filter := 'nf=2003 and yf=3 and (zj> 0 or sfje>0 or zmbje>0 or dldje>0) ';
如上,我想在程序执行时加上过滤条件,但ADOTable.Filter 好象不支持以上写法,
(问题好象在那个括号,但去掉括号又达不到我的目的)我该如何些以达到我的目的?
...全文
17 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
boz 2003-04-09
  • 打赏
  • 举报
回复
可以过滤两次
ADOTable.Filtered:=false;
ADOTable.Filter :=str1;
ADOTable.Filtered:=true;
ADOTable.Filtered:=false;
ADOTable.Filter :=str2;
ADOTable.Filtered:=true;

idilent 2003-04-09
  • 打赏
  • 举报
回复
没有用过filter,可不可以过滤两次?
delphiyesgood 2003-04-09
  • 打赏
  • 举报
回复
ADOTable.Filter := '字段='+'''+2003+'''
breezing 2003-04-09
  • 打赏
  • 举报
回复
用adoquery不是更方便吗?
tripman 2003-04-09
  • 打赏
  • 举报
回复
谢谢大家!以上方法我去试试!
weitao999 2003-04-09
  • 打赏
  • 举报
回复
不行的话用另外一种方法:
通过一个Query把符合条件的记录用filter的条件取出来。
然后通过Query把该数据集的关键字段用or连接起来
即:str:=id='a' or id='b' or id='c'......
然后将str赋值给filter。
不过速度肯定会稍慢些!
火龙岛主 2003-04-09
  • 打赏
  • 举报
回复
adotable.filtered:=false;
ADOTable.Filter := '(nf=2003) and (yf=3) and ((zj> 0) or (sfje>0) or (zmbje>0) or (dldje>0)) ';
adotable.filtered:=true;
有时候扩号能起到意想不到效果(好坏都有:))

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧