adodataset3.Filter:='卡号='+quotedstr(edit1.text)+' and '+'日期<'+date()+ ' and '+'打印=0';
计算机老提示类型不对,问题就出在日期那里!在线等,急,解决立即给分

解决方案 »

  1.   

    在filter属性中不支持使用函数,而你用了date()函数!如果想要实现同样的功能,请在onfilter事件中写
      

  2.   

    什么数据库?
    Access:
    adodataset3.Filter:='卡号='+quotedstr(edit1.text)+' and '+'日期<#'+FormatDateTime('yyyy-MM-dd hh:mm:ss',date)+ '# and '+'打印=0';SQLServer:
    adodataset3.Filter:='卡号='+quotedstr(edit1.text)+' and '+'日期<Convert(DateTime,'+FormatDateTime('yyyy-MM-dd hh:mm:ss',date)+ ') and '+'打印=0';
      

  3.   

    adodataset3.Filter:='卡号='+quotedstr(edit1.text)+' and '+'日期<Convert(DateTime,'+FormatDateTime('yyyy-MM-dd hh:mm:ss',date)+ ') and '+'打印=0';
      

  4.   

    应该是OnFilterRecord事件,例:
    procedure TForm1.AdoDataSet1FilterRecord(DataSet: TDataSet; var Accept: Boolean);begin
      Accept :=False;
      if (DataSet.FieldByName('卡号').AsString = edit1.text) and (DataSet.FieldByName('打印').AsString = '0') and  (DataSet.FieldByName('日期').AsDateTime = Date()) then
      Accept := True;
      
    end;
      

  5.   

    日期应该是一个字符串:
    '日期<' + #39 + FormatDateTime('yyyy/mm/dd', date()) + #39