Filter :=' (Amount_Done<40) and ((Dept=''XX1组'') or (Dept=''XX2组'')) ';
结果老是说什么参数类型不正确类型,或者不可以在接受的范围之内,或与其它参数冲突

解决方案 »

  1.   

    Filter不能or 和and 一起混用,也就是说不能像真正sql语句那样写很复杂的语句,只能做简单的查询过滤
      

  2.   

    如果多条件过滤的话,最好写在onfilterrecord事件中
      

  3.   

    不同字段不能用AND,不同字段用AND就出错。
    如果改成:Filter :='((Dept=''XX1组'') or (Dept=''XX2组'')) ';
    就不会出错。
    建议将条件写在onfilterrecord事件中:
    with dataset do   
    accept:=(fieldbyname('Amount_Done').value<40)and((fieldbyname('dept').value='XXX1)or(fieldbyname('dept').value='XXX2组'));
      

  4.   

    Filter :=' (Amount_Done<40) and ((Dept=''XX1组'') or (Dept=''XX2组'')) ';
    改成下面就可以:
    Filter :='(Amount_Done<40 and Dept=''XX1组'') or (Amount_Done<40 AND Dept=''XX2组'') ';