请各位帮我解决这个简单的问题(100分)

  • 主题发起人 主题发起人 wchal
  • 开始时间 开始时间
W

wchal

Unregistered / Unconfirmed
GUEST, unregistred user!
现有一表如下:
字段1 字段2 字段3
1 a x
1 a y
2 a z
1 b n
1 b m
我用的是Qreport 想达到以下效果
1 a x
y
2 a y
1 b n
m
也就是说如果当字段1内容和字段2内容相同时则打印报表时则不显示字段1和字段2的值
如果只就字段1相同字段2不同仍相显示。
我以前在这里见过不过现在我找不到了。
拜托各位了。
 
各位老兄,帮帮忙啊。
是不是做不到啊。
怎么一个人都不见回答啊
 
发贴这么多天了,既然没人回答。
是不是做不到啊
 
我知道用报表的分组控件可以实现
按照你前面的两个子段分组
 
怎么没人回答啊,是不是太简单了
 
这要在程序写,或在存储过程中完成,一两句可写不完。
 
在报表上放3个qrlable,窗体声明两个私有变量field0,field1
procedure TFormqr.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin
with query1do
begin
if (recno=0)or(fields[0].asstring<>field0 and fields[1].asstring<>field1) then
begin
qrlable1.caption:=fields[0].asstring;
qrlable1.caption:=fields[1].asstring;
qrlable1.caption:=fields[2].asstring;
field0:=:=fields[0].asstring;
field1:=fields[1].asstring;
end
else
begin
qrlable1.caption:='';
qrlable1.caption:='';
qrlable1.caption:=fields[2].asstring;
end;
needdata:=not eof;
next;
end;
end;
 
看看qreport自带的例子.
..../Program Files/Borland/Delphi5/Demos/Quickrpt/Qr3/qr3demo.dpr,这个例子中有关于分组的详细资料.(例子中的最后一个演示的就是分组)
 
delphi代的例子就有泥要的原型,我目前作的打印报表也就是参照哪里作的,绝对可行
 
后退
顶部