想从T1表中筛选出id等于某一些值的纪录
如select * from T1 where id in (select id from T2 where sex='男')
但使用filter如何写呢?
我按照以下方式写,报错了
filter := 'id in ''' + (select id from T2 where sex='男') + '''
求助!
谢谢

解决方案 »

  1.   

    filter是写不成这样的表达示的!filter只能用极其简单的表达示如filter:='id='+Edit1.text;象你上面的功能用SQL实现是最好得了!不要在filter上费心思了!
      

  2.   

    哦,酱紫
    那我去试试sql了
    先不结帖了
      

  3.   

    还是很想知道filter是怎么写的
    哪位大虾给指点一下迷津了
    多谢
      

  4.   

    哈可以这样,用两个Query
    query1的SQL语句写为:select id from T2 where sex='男'
    query2的SQL语句写为:select * from T1
    在Query1的AfterScroll事件中设置Query2的Filter:query2.Filter:='id='+query1.FieldByName('id').asString;//如果id是整型数据
    //或 
    //query2.Filter:='id='+Qutoedstr(query1.FieldByName('id').asString);//如果id是字符型数据
    query2.Filtered:=true;
    query2.First;