更正为下面,也会错!unit printPre;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, QuickRpt, Db, DBTables, Qrctrls, ADODB;type
  TForm4 = class(TForm)
    QuickRep1: TQuickRep;
    PageHeaderBand1: TQRBand;
    SummaryBand1: TQRBand;
    TitleBand1: TQRBand;
    DetailBand1: TQRBand;
    PageFooterBand1: TQRBand;
    ColumnHeaderBand1: TQRBand;
    QRSysData1: TQRSysData;
    QRLabel3: TQRLabel;
    QRDBText4: TQRDBText;
    QRDBText7: TQRDBText;
    QRExpr1: TQRExpr;
    QRExpr2: TQRExpr;
    
    
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    
    ADOQuery1: TADOQuery;    QRDBText2: TQRDBText;
    procedure QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  
    //procedure FormShow(Sender: TObject);  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form4: TForm4;
  QRDBText2: TQRDBText;
implementation{$R *.DFM}procedure TForm4.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);//var
//QRDBText2:TQRDBText;
begin
ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(ParamStr(0))+'Data\list.mdb;Mode=ReadWrite¦Share Deny None;Persist Security Info=False';
with ADOQuery1 do begin
close;
sql.Clear ;
sql.Add('select recNo from recNo');
open;
QuickRep1.QRDBText2.text:=ADOQuery1.FieldByName('recNo').asstring;
//kk:=ADOQuery1.FieldByName('recNo').asstring;
//showmessage(kk);
end;//MoreData:=False;
end;
end.

解决方案 »

  1.   

    你的Form里没有一个叫做QRDBText2的,只有..4和..7。
      

  2.   

    QRDBText2: TQRDBText; 
    是的动态生成的,所以
    QuickRep1.QRDBText2.text:=ADOQuery1.FieldByName('recNo').asstring;
    当然 cannt complie,你可以这样
    QRDBText2.text:=ADOQuery1.FieldByName('recNo').asstring;注意:你必须事先设置好 QRDBText2 的 Parent、位置、字体等属性
      

  3.   

    re:qkl(康) 
    [Error] printPre.pas(84): Undeclared identifier: 'text'
    为什么?
      

  4.   

    对了,TQRDBText 本来就没有 Text 或 Caption 属性呀。可用 TQRLabel.Caption 代替 QRDBText2.text 。
      

  5.   

    sql.Add('select * from myrecno where myid="king" ');
            open;
            
            QRLabel8.Caption :=ADOQuery1.FieldByName('recNumeric').asstring;为什么QRLabel8.Caption 显示不出字段的值。(其他正常!)
      

  6.   

    TQRLabel.Caption 代替 QRDBText2.text ,我代替了,虽然不出错,但显示不出来? 为什么?是不是放错了事件,我是放在(TForm4.QuickRep1NeedData)里的,
      

  7.   

    我放在 TForm4.FormCreate事件里也显示不出来!
      

  8.   

    你设了 Parent、位置 没有?