我想在明细表中设置过滤条件,可总是提示不能在明细表中设置过滤条件,各位高手之知道该如何设置才能过滤出符合要求的记录?谢谢了
解决方案 »
- 请问用xmldocument,如何删除xml的节点呢?代码如下.
- 如何使用XPmenu控件?请高行指点一下。
- 关于安装程序需要qtintf.dll
- 大家来说说最后悔的事情和现在最想作的事情。
- 哪为大哥有设计软件界面风格的VCL,求助。
- 一个报表打印走纸问题
- 进程与线程之间的协调?
- 求版主别删除!尊敬的大侠:您好!明天我要去应聘机房管理和维护,网络、网站、网页制作、管理、维护人员。他们可能会问什么问题(技术,
- ●●● 招 聘 ●●●
- 哪位大侠知道在delphi6中怎么用msxml检查xml文件是否正确,谢谢
- idhttp与www.google.com的奇怪问题
- TQuery控件简单问题?请高手指教!
table.filter:='字段='+quotedstr('条件');
table.filtered:=true;
table.open;这样应该就可以了
可以利用TTable和TQuery的Filter属性来设,比如说你现在有一个员工表employee,而其中有以下几个字段,employeeNo,employeeName,Department,Salary,而我们要查的是要所有部门是销售部的员工,可以在Filter中设置Department='销售部',然后设置Filtered属性为True就OK了,这样就只能看到销售部的人,也可以在程序运行时动态改变,如果是一常量,可以用Table.Filter:='Department'+'='+'''销售部''';(字符串常量必须用三对单引号括起来)
但如果是一变量,则就要用到format函数,如下
Table.Filter:=Format('Department'+'='+'''%S''',[value]);value为已经赋值的一个字符串变量,也可以为其他形式,如Edit1.text;
也可以用ApplyRange来设置范围:(它只适用于TTable控件)
如下面一段代码可以选出工资范围在1000到5000内的员工:Table.setrangestart;
Table.FieldByName('Salary').asinteger:=1000;
Table.setrangeEnd;
Table.FieldByName('Salary').asinteger:=5000;
Table.ApplyRange;
不过这种方法只适用于建立索引的字段。当然也可以用TQuery中的SQL来选择查询,在此,我就不多说了。
table2.Filtered := false;
table2.Filter := 'sid='+table1.FieldByName('id').AsString;
table2.Filtered := true;