Access数据库为什么不能用过滤器Filter来查询呀?
解决方案 »
- delphi + sqlite3
- 如何以流方式在这个记录集结构中加上参数对文件进行操作
- 如何将十进制数转换成二进制数
- 天哪,救命啊~~~~~~~~~用ADOquery打开excel表格的问题,在线等,十万火急!!!(鸡毛贴)
- 骗黑<<关于生成的exe不能压缩的问题>>(非喜莫进)
- 如何让Edit只能输入4位数字!
- 如何在SQL SERVER 2000库中查找一个表
- 请问上海的高程什么时候在什么地方报名!!兄弟急
- 初级问题:一个动态连接库,那位好心人教我下用delphi如何调用
- 我有一个Tbmp是800*600的,怎样让它顺时针转90度呀?
- 有谁知道TjvBitmapButton控件的使用,如何点击它,就让它消失呢,帮帮我啦,谢谢
- 小弟的迷茫、疑惑?
ADOQuery1.Filtered := false;
ADOQuery1.Filter := ''; {中间写入过滤代码,不能用%在前而尾没有%的匹配}
ADOQuery1.Filtered := true;
data.red.Filter:='id like '''+#37+formatdatetime('yymmdd',date)+#37+'''';
data.red.Filtered:=true;
data.red.Filter:='id like '''+'%'+#39+formatdatetime('yymmdd',date)+#39+'%'+'''';
data.red.Filtered:=true;注意:
1、是#39
2、LIKE要记得加'%'
to楼上:是#37,37就是%
[第三次重发]
我表达不是太清楚,你参照下面一些代码,假设想过滤sname字段的一些数据
procedure TfrmEhlib.Button1Click(Sender: TObject);
begin
ADOTable1.Filtered := false;
ADOTable1.Filter := 'sname like ''电%''';
ADOTable1.Filtered := true;
end;
--中间写入过滤代码,不能用%在前而尾没有%的匹配’什么意思??OnFilter又怎么用呀?
我想表达的意思是,如上面,可过滤出如[电脑][电视机]等以[电]开头的,但若写成这样, 如ADOTable1.Filter := 'sname like ''%机''';,可能本意想过滤出如[电视机][影碟机]等以[机]结尾的数据,这样是不行的,它会出现一个错误,是[参数类型不正确...]等反正都是错,若是写成ADOTable1.Filter := 'sname like ''%机%''';倒是可以正确过滤出数据;究其原因我想可能过滤是当你用在输入选择如药品类中你输入开头代码它就过滤以其开头代码一致的东西来;其它如'sname = ''电视机'''等倒是好办,若是数据型就不用多加引号就可以了。其中%可用*来代替,我是用%习惯了,反正道理大抵如此,多试几次吧
frmdm.ADOTable1.Filter := 'ID= ' + '''' + edit1.text+ '''';
frmdm.ADOTable1.Filtered := True;
如果需要复杂的筛选条件,可以在onFilter中对每一个记录进行判断来实现