请帮忙解决“根据查询结果,动态创建报表”的问题。(200分)

  • 主题发起人 主题发起人 mauhan
  • 开始时间 开始时间
M

mauhan

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚刚接触delphi不久,最近在编制一个应用程序,其间碰到一个问题,请高手帮忙解决:
就是根据每次查询的结果,直接生成报表打印出来,查询的列数不确定,
并且根据要求可能要分组。
另外还有一个问题是,怎么样才能在同时打印三张不同的报表于一页纸上,
三张报表具有同一个分组标志。比如:按照部门分组,每个部门有水、电、煤三张报表,
我需要将这三张报表同时打印于一页纸上。
我用的开发环境是Delphi6.0+SqlServer2K
报表用delphi自带的Quick Report.
在此先谢谢各位了!
 
动态报表用QuickReport可能不是很方便,如果用Cell或Excel实现的话,
倒是比较方便。如果需要可以给你发一段代码。
 
这个问题,可以用一些控件来解决,或者用F1BOOK通过编程来实现。用F1BOOK实现地的方法:
var orw,i:integer;
begin
for i:=0 to query1.fieldcount-1do
f1book1.textrc[row,i+1]:=query1.fields.fieldname;
row:=2;
query1.first;
while not query1.eofdo
begin
for i:=0 to query1.fieldcount-1do
f1book1.textrc[row,i+1]:=query1.fields.asstring;
row:=row+1;
query1.next;
end;
end;
 
用delphi自带的Quick Report可以实现啊,只是要用动态生成来处理,
代码会写的很长。
 
用F1BOOK和用EXCEL有什么区别,不过是控件和OLE而已。用QUICK REPORT 完全可以实现,只是得
费点工夫写代码而已。
在同一张纸上打印三个报表。有点意思。能弄个版面来看看吗?我的E-MAIL是SENTIMENT·263。NET
 
如何将报表弄到Excel中去呢?
 
建议用printer对象来做,要怎样就怎样,呵呵!!!
 
既然大家没有兴趣回答这个问题了,我就把分数平分给各位。
 
用DbgridEh控件就机以了
 
多人接受答案了。
 
后退
顶部