请问我 利用 控件 QReport 作报表时,指定打开的表.通常都是在控件属性中写的.怎么 可以通过代码 打开指定的数据表呢.我是这样写的:
procedure TTestRepForm1.FormCreate(Sender: TObject);
begin
   with TestADOQuery1 do
    begin
      close;
      sql.clear;
      sql.Add('select * from ColleInfo where ColleNum='''+copy(TestProNum,1,10)+'''  ');
      open;
    end;
    QRLabel1.Caption:=TestADOQuery1.FieldByName('CollePro').AsString;
    QRDBText1.DataSet:=TestADOQuery1;
    QRDBText1.DataField:=TestADOQuery1.FieldByName('CollePro').AsString;
end;但是报表中的数据可以调出来.但是报表的: 打印功能,翻页功能都没了. 
是我加的 访问数据表的代码不对呢,还是~~?不好意思可能是没分了~~

解决方案 »

  1.   

    那要怎么动态引入
    sql.Add( 'select * from ColleInfo where ColleNum= ' ' '+copy(TestProNum,1,10)+ ' ' '   '); sql语句到报表中呢.
      

  2.   

    缺一句话,加上试试:
    quickrep1.dataset:=TestADOQuery1;
      

  3.   

    procedure TTestRepForm1.FormCreate(Sender: TObject);
    begin   with TestADOQuery1 do
        begin
          close;
          sql.clear;
          sql.Add('select * from ColleInfo where ColleNum='''+copy(TestProNum,1,10)+'''  ');
          open;
        end;
        quickrep1.dataset:=TestADOQuery1;  //这句加上还是不行
        QRLabel1.Caption:=TestADOQuery1.FieldByName('CollePro').AsString;
        QRDBText1.DataSet:=TestADOQuery1;
        QRDBText1.DataField:=TestADOQuery1.FieldByName('CollePro').AsString;
    end;执行后报表的上边 还是没有: 打印功能,翻页功能