直接用   locate或者filter都不行,因为其中的有个字段是lookup字段

解决方案 »

  1.   

    可以用sql语句,不过lookup字段的就无法过滤了吗?
      

  2.   

    lookup字段并不存在于表中,所以不能用locate或者filter过滤,可以用SQl语句过滤;
    还有一个办法,就是在FilterRecord事件中处理:
    procedure TForm1.ADOQuery1FilterRecord(DataSet:TDataSet; var Accept:Boolean); 
    begin 
      if DataSet.FieldByName('XXOO').AsString=Edit1.Text then   
         Accept:=true 
      else   
         Accept:=false;   //XXOO是lookup字段 
    end;
      

  3.   

    谢谢,如果模糊查询的话,是不是只能用pos函数了