报表里有一主表,一从表,从表里怎么才能取得记录的序号?有点类似delphi5例子中qr3的grouping页的结构,但我想把每一条记录的序号记录下来

解决方案 »

  1.   

    在报表中放一个标签  lebel
    procedure TForm1.DetailBand1AfterPrint(Sender: TQRCustomBand;
      BandPrinted: Boolean);
    begin
      QRLabel1.caption:=Query.RecNo
    end;
      

  2.   

    二楼的方法为什么第一页不行,其他的可以一楼的如果subdetail有多条记录就不行了不知道LINE#怎么用?
      

  3.   

    ...
          object QRSysData1: TQRSysData
            Left = 144
            Top = 16
            Width = 8
            Height = 17
            Frame.Color = clBlack
            Frame.DrawTop = False
            Frame.DrawBottom = False
            Frame.DrawLeft = False
            Frame.DrawRight = False
            Size.Values = (
              44.9791666666667
              381
              42.3333333333333
              21.1666666666667)
            Alignment = taLeftJustify
            AlignToBand = False
            AutoSize = True
            Color = clWhite
            Data = qrsDetailNo
            Transparent = False
            FontSize = 10
          end
        end
      end
      

  4.   

    用QRSysData,设置成qrsDetailNo
    就是这样。我觉得有必要知道你的 Band 是 DetailBand 还是其他的?
      

  5.   

    问题是:我的第二页开始就重新计数,而且,我有subdetail,用qrsDetailNo无法统计
      

  6.   

    ihihonline(小小) 
    是这样:我只统计当前页的记录,第二页重新计数统计的是subdetail的记录
      

  7.   

    procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    begin
       if Query.recoudcount>0 then 
         QRLabel1.caption:=Query.RecNo
    end;
      

  8.   

    procedure TForm1.QRSysData1Print(sender: TObject; var Value: String);
    begin
      Value := IntToStr((QuickRep1.RecordNumber Mod  3) );
      if Value = '0' then
        Value := '3';
    end;
    3表示每页的RecordCount数量,你可以改的。
      

  9.   

    如果用subdetail,就找他对应的DataSet的RecNo.  Value := IntToStr((subdetail->DataSet.RecNo Mod  3) );
      if Value = '0' then
        Value := '3';
      

  10.   

    正如阿龙所说:“用QRSysData,设置成qrsDetailNo”。