有一个表,他的结构如下:time代表要打印的次数
id word time
1     111111 2
2 222222 6
3 333333 5
.
.
.
.
.
.......想得到的打印结果是:111111 111111
222222 222222 222222
222222 222222 222222
333333 333333 333333
333333 333333          不知大家是否理解我的意思。

解决方案 »

  1.   

    use  printers;procedure printf(query:Tquery);
    var
      i,itime:integer;
      sf   :string;
    beign
      printer.begindoc;
      query.first;
      sf:='';
      while query.eof do
      begin
         itime:=query.fieldbyname('time').asinteger;
         for i:=0 to itime-1 do
         begin 
             sf:=sf+query.fieldbyname('word').asinteger;
             if (i mod 3) =0 then 
             begin
               printer.print.add(sf);
               sf:='';
             end;
         end;
         query.next;
      end;
      printer.enddoc;
    end;
      

  2.   

    QReport。你可以先在。QREPORT上加qrband.将BANDTYPE类型设置为rbdetail.这是数据显示区。
    将5个QREXPR.放入,qrband.中。可以在QREXPR的(ONPRINT)事件中写入。
    第一个中写入。 
    If ....Fieldbyname('time')=1 Then
        qrexpr1.expression:=ADOQuery1.word;
    If ...Filedbyname('Time')=2 Then
        qrexpr1.expression:=adoquery1.word;
        Else
        qrexpr1.Value:='';一次类推。QREPORT好久没有用了,我这里没有机器,这些可以给你参考。你可以改改。