关于ADOTable.Filter的几个问题!(200分)

  • 主题发起人 主题发起人 coolqiang
  • 开始时间 开始时间
Filter的过滤功能中,负责的过滤本身就很弱,例如逻辑关系。
既然你使用Access 2000 大可以使用ADO的连接。
使用ADODataSet的过滤条件where,having等。
 
听我的,没错。
不要用like,用等号!
1.Filter := 'Address='+'*'+#39+','+#39;
Filtered := True;
2.Filter := 'Address<>'+'*'+#39+','+#39;
Filtered := True;
3。见1.2.条,用#39
 
刚试了楼上几位说的“*”和“=”,仍然没效果!:(
 
我先试试再答复你
 
对了,Filter := 'Address='+#39+'*'+','+'*'+#39;要多加一个星号
coolqiang,还没效果?把你的代码贴出来看看
 
等等,我测试一下
 
这和你使用什么数据控件是有关系的。
如果是Ado,可以使用like
Filter := 'Address like'+#39+'%'+','+'%'+#39;//这里的百分号换成星号是同样效果。
Filtered := True;

如果用bde,用等号和星号只能用后半部分过滤(据我的测试是这样的)
如果用TinyDB,也可以使用like.
至于 not  like的语法,我暂时还没有测试成功
 
sunsong:我用的是ADO+Access,用“like '%,%'”可以过滤,但有我前面提出的几个问
题,用“like '*,*'”和“= '*,*'”都没有效果!
 
还是在用OnFilterRecord事件里用pos吧
 
在数据中尽量不要带那些字符。
 
同意am2001。
delphi这方面有漏洞,再怎么改都无法满足各种各样的数据的。
 
在OnFilter里边代码判断,注意这时候,RecordCount可能不正确,具体参考Delphi HELP
 
我试过*和#,都可以!
 
[:(]俺不清楚,试了一下!帮你提前!
 
#39 我建议用四个引号代替,即''''
 
學習


--------------------------------
"中日友好", 過去沒有, 現在沒有, 將來也沒有。
為了中國的千秋萬代, 請拒絕日貨
 
是比较麻烦的事,如果把插入文本中含有''的话是不是也会出现问题啊
 
后退
顶部