关于重复值不打印问题(50分)

  • 主题发起人 主题发起人 siuping
  • 开始时间 开始时间
S

siuping

Unregistered / Unconfirmed
GUEST, unregistred user!
我想知道在QuickReport里怎样不打印重复值?如果下一记录和上一记录的某字段的值相同,则不打印出来,请问应该怎样做?
 
//先定义一个变量
var
Form1 : TForm1;
ksbh : String;
//报表打印之前 Ksbh 置空
procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
Ksbh := '';
end;

//打印该字段前判断
procedure TForm1.QRDBText1Print(sender: TObject;
var Value: String);
begin
if ksbh=Self.ADOQuery1.FieldByName('Ksbh').AsString then
//相同打印空串
Value:=''
else
//不同则打印该字段值,并将值记录下来用作下次比较
ksbh:=Self.ADOQuery1.FieldByName('Ksbh').AsString;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Self.QuickRep1.PreviewModal ;
//调用报表
end;

procedure TForm1.QuickRep1StartPage(Sender: TCustomQuickRep);
begin
Ksbh:='';
//换页时Ksbh置空,打印字段值。
end;

//结束.
 
也可以把表处理一下啊,字段有相同值的就删除了
 
接受答案了.
 
后退
顶部