你的显示记录的控件TQRDBText的DataSet没设置
或者是你的Table.active为false.

解决方案 »

  1.   

    你有没有将QuickRep控件的DataSet属性设置了?
      

  2.   

    QuickRep控件的DataSet属性有没有?
    并且Table.active为true吗?
      

  3.   

    我确信每一个dataset都加了adoquery1。怎么办?
    大家再帮我看看!!!!!
    procedure TForm1.Button20Click(Sender: TObject);
    begin
        if datetimepicker9.datetime >datetimepicker10.datetime  then
          begin
             showmessage('终止时间必须大于开始时间!');
             exit;
          end
        else    begin
          with rep_cards5.adoquery1 do begin
             close;
             SQL.Clear;
             SQL.Add('select *');
             sql.add('from card');
          if (edit6.Text<>'') or (combobox4.Text<>'') then
           begin
            if (edit6.Text<>'') and (combobox4.Text<>'') then
             begin
              sql.Add('where(regtime between :pp and :qq) and (cardtype like :rr) and(cardno like :ll) and (valid like :kk)');
              Parameters.ParamByName('pp').DataType := ftdate;
              Parameters.ParamByName('pp').Value := datetimepicker9.date;
              Parameters.ParamByName('qq').DataType := ftdate;
              Parameters.ParamByName('qq').Value := datetimepicker10.date;
              Parameters.ParamByName('ll').DataType := ftString;
              Parameters.ParamByName('ll').Value := edit6.text;
              Parameters.ParamByName('rr').DataType := ftString;
              Parameters.ParamByName('rr').Value := combobox4.text;
              Parameters.ParamByName('kk').DataType := ftboolean;
              Parameters.ParamByName('kk').Value := true;
              Prepared:= True;
              open;
             end
            else begin
              sql.Add('where(regtime between :pp and :qq) and (valid like :kk)and((cardtype like :rr) or(cardno like :ll))');
              Parameters.ParamByName('pp').DataType := ftdate;
              Parameters.ParamByName('pp').Value := datetimepicker9.date;
              Parameters.ParamByName('qq').DataType := ftdate;
              Parameters.ParamByName('qq').Value := datetimepicker10.date;
              Parameters.ParamByName('ll').DataType := ftString;
              Parameters.ParamByName('ll').Value := edit6.text;
              Parameters.ParamByName('rr').DataType := ftString;
              Parameters.ParamByName('rr').Value := combobox4.text;
              Parameters.ParamByName('kk').DataType := ftboolean;
              Parameters.ParamByName('kk').Value := true;
              Prepared:= True;
              open;
             end
            end
           else begin
              sql.Add('where (regtime between :pp and :qq) and (valid like :kk)');
              Parameters.ParamByName('pp').DataType := ftdate;
              Parameters.ParamByName('pp').Value := datetimepicker9.date;
              Parameters.ParamByName('qq').DataType := ftdate;
              Parameters.ParamByName('qq').Value := datetimepicker10.date;
              Parameters.ParamByName('kk').DataType := ftboolean;
              Parameters.ParamByName('kk').Value := true;
              Prepared:= True;
              open;
             end;
            end;
            rep_cards5.QRLabel13.Caption:=datetostr(form1.DateTimePicker9.date);
            rep_cards5.QRLabel15.Caption:=datetostr(form1.DateTimePicker10.date);
            rep_cards5.quickrep1.preview;
        end