高手救命!!!200分!!!如何利用QuickReport制作中国式的复杂报表?有无别的实现途径?(200分)

  • 主题发起人 主题发起人 Yhwonline
  • 开始时间 开始时间
Y

Yhwonline

Unregistered / Unconfirmed
GUEST, unregistred user!
本表格报表的内容来自数据库的四张表,报表的形式为(表格线省略):
报表的上左方为款式图,款式图的右上方为基本信息表,款式图的右下方为
料样成分表,报表的下方为规格表。
款式图 物料类 物料名 规格 …
QRDBText …

料样名 成分 缩水率 …
QRDBText …

衣长 领大 袖口 …
QRDBText
希望高手能尽快告诉我!
另外:如果利用QR难以实现,有否别的上佳工具?如果有,怎样才能得到?怎样使用?
 
如果你没有更合适的办法,建议你这么做
用四个表的内容构造一个临时表,然后打印
临时表。
我现在用Faster Report和eReport。你如果感
兴趣可以在大富翁上查一查
 
建议分成两个报表: 款式图与规格图
在同一张报表中实现的话我也想知道(QR)。
但是也可以使用Canvas输出。
 
上次我给你说的,我作的一个过程,可能比较麻烦,但是可以控制横线的出现位置,主要是通过对TDBshape的控制。
procedure TQuickReport2.QuickRepBeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);

begin

label140.Caption:='140M'+#13+#13+'自'+#13+#13+'适'+#13+#13+'应'+#13+#13+'电'+#13+#13+'路';
QRDBText1.Enabled:=false;
m8:='';
m34:='';
m140:='';
end;

procedure TQuickReport2.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin

with Form1.Table1do

begin

if FieldByName('M8').AsString =m8 then

begin

QRDBText3.Enabled:=false;
mainshape8.left:=shape8.Left;
mainshape8.Width:= DetailBand1.Width-mainshape8.left;
end
else

begin

m8:=FieldByName('M8').AsString;
QRDBText3.Enabled:=true;
mainshape8.Left:=shape34.Left;
mainshape8.Width:=DetailBand1.Width-shape34.Left;
end;

if FieldByName('M34').AsString= m34 then

begin

QRDBText2.Enabled:=false;
mainshape34.left:=shape8.Left;
mainshape34.Width:= DetailBand1.Width-mainshape34.Left;
end
else

begin

m34:=FieldByName('M34').AsString;
QRDBText2.Enabled:=true;
mainshape34.Left:=shape140.Left;
mainshape34.Width:=DetailBand1.Width-mainshape34.Left;
end;

end;

end;

 
zengr,能否详细解释一下?谢谢!
 
又是你
还是推荐ReportBuilder, www.net-wing.net/kangwei
 
建议你考虑driver的意见
zhangjun
 
to xiecc: reportbuilder 可以实现小计功能吗?
 
可以用控件,有这方面的控件,要吗,给我分我mail给你
 
小计功能
页小计?类小计?

 
小计功能? Of course
我paste一段介绍吧
Calculations are a vital part of reporting and ReportBuilder provides a rich
set of components and events which allow you to perform a wide range of
calculations. Simple calculations can be performed without any coding using the
DBCalc component. This component provides Sum, Average, Minimum, Maximum and
Count functions. The calculations can be group-based or report-based. More
complex calculations can be achieved via the Variable component. At a minimum,
the Variable component requires an OnCalc event handler to be assigned. The
timing of this event can be correlated to any number of occurances within the
report generation process (i.e. the component calculates once for each
occurance of: the start of the report, a master record traversal, a detail
record traversal, a group break, the start of a page, the start of a column,
etc.) The Variable component also has an OnReset event which can be similarly
correlated. This provides the utmost in calculation flexibility.
 
To Arjiangzeng:
如果有的话,请尽快e给我(Yhwonline@263.net)。千恩万谢!!!
如能奏效,必加重分!!!
多谢多谢!!!
 
用ReportBuilder 5.0 for d5或者用Ereport来实现是绰绰有余的。
 
QuickReport是个很不稳定的报表工具。
 
EReport和ReportBuilder为何Down下来后却无法解开?那位朋友能E给我?多谢多谢!
(Yhwonline@263.net)
 
推荐使用Ereport.
I will send it to u.
 
Ereport好象不和Delphi5兼容!!!???(我用的是Delphi的5.0版本)
 

Ereport好像无法实现小计功能
 
推荐使用Report Machine1.0。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部