如何生成这样的报表?

Ascn 2003-11-24 10:41:33
我想生成这样的报表:
    1月 2月 3月 4月 。。。。。。11月 12月
A部门  ? ? 。。。
B部门  ? ? 。。。
C部门  。。。。
。。。
Z部门

//---------------------------------------------------
其中的?需要由一个SQL语句进行统计得出结果,各个?的查询条件类似但不同。
比如:
...Where 月份='1' And 部门='A'
...Where 月份='3' And 部门='A'
...等等。
要求是该条件可以在运行时指定,例如:统计部门为A、B、F,1至6月份的。

我初步的打算是,将统计结果一个一个地插入控件中。但是,这样就有问题了:
1、用什么控件?Grid吗?可是我要显示报表啊;如果用报表,好象不能这样插入
数据,只能给“一个”SQL语句,从数据库中查询出来后进行预览:(
2、一个一个的插入很麻烦,而且速度可能很慢;
3、各位大侠是如何做这种东西的?什么方法比较好?

急盼指教,谢谢!
...全文
100 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ascn 2003-12-26
  • 打赏
  • 举报
回复
非常感谢大家,结贴先。
以后有空再为大家送分:)
wlic 2003-12-09
  • 打赏
  • 举报
回复
仔细研究一下SQL的帮助,有类似的例子
Ascn 2003-12-06
  • 打赏
  • 举报
回复
最近太忙,我先试试:)
谢谢大家!
pantaloon 2003-11-28
  • 打赏
  • 举报
回复
那你就在BEFOREPRINT中写好了,只要限制条件的求和好了。
goldhawk_2000 2003-11-27
  • 打赏
  • 举报
回复
delphi的数据集也可以定位的, 建议你就做一个临时表:
部门 一月 二月 .... sum.

只要你能得到一个如上结构的数据集就可以修改,添加了.用table还是query都可以.


然后打印这个数据集.
Ascn 2003-11-26
  • 打赏
  • 举报
回复
其他报表用了模板,这种纯粹用一条一条的SQL语句统计出的,我还不知道从何入手啊

求教
Ascn 2003-11-26
  • 打赏
  • 举报
回复
汗,我对交叉表是敬而远之,很少用:(,而且我是初学Delphi,对于DecisionQuery也没用
过:(  我决定研究研究交叉表的例子

模板报表?其实是这样:报表工具一般不是有个设计器吗?该设计器一般可以将设计的结果
保存为一个文件,以后就可以从文件载入了。我把这称作模板啊。

我上面说的报表是因为我找不到更好的方法,所以以前用PB作时,是用笨方法以SQL语句在循
环中统计,并将其写入表格的相应单元格中。在PB中使用数据窗口,可以很方便的对指定行、
列的那个单元格进行读写。但在Delphi中,我不知道用什么控件好,且对于该种控件如何对
指定单元格读写?

我不知道是否有比上述笨法子更好的方法,如有,该如何作?望各位指教,谢谢
goldhawk_2000 2003-11-26
  • 打赏
  • 举报
回复
感觉上是打印一个两维交叉表的结果. 呵呵

用DecisionQuery,只需要一条语句.然后DBText1连上就可以了,DecisionQuery自动统计

本人不善做报表,也没有用过模板报表 不知道模板报表是怎么回事,如无帮助还望包涵.
Ascn 2003-11-24
  • 打赏
  • 举报
回复
都可以对其中的控件赋值啊,但我要改变某字段第10行的结果?不知道如何写

临时表我也考虑过,由于数据量太大,要先统计每天的,再统计每月的,每个部门如此。
因此,担心给服务器造成太大负荷,也担心客户机这边太忙让人以为死机了,还担心
频繁取数据造成网络流量加大:( 不知道什么方法好些?
WangZWang 2003-11-24
  • 打赏
  • 举报
回复
我比较常用FastReport,dxComponentPrinter...等第三方组件,做报表比较方便。
像你的问题,可以用SQL语句先生成一个临时表,再连接打印控件,就可以实现你打印
格式的要求。对于Delphi自带的Rave报表组件,也可直接对其设计的控件赋值。
Ascn 2003-11-24
  • 打赏
  • 举报
回复
不好意思,可能没说清楚:)
如果是在设计时在报表中放入一些控件的话,我知道有些什么控件,当然就好办了。
但是,在运行时从模板装入呢?因为我的报表有很多个,用了模板的方式。

另外,我初学Delphi,如果知道报表中有个DBText1, 我怎么对它操作?比方说,把
它第10行的数据改为0?
Ascn 2003-11-24
  • 打赏
  • 举报
回复
不发意思,我用的是Report Builder.
主要问题不在于工具的不同,而在于:
我是从模板中载入,在Delphi的Form中不能写代码对报表中的东西进行操作吧?
因为都不知道用户载入的是哪个报表模板,怎么知道对哪个对象赋值啊?
redcola 2003-11-24
  • 打赏
  • 举报
回复
这个...那个...东西很多啊.

1.在FR里面声明参数
2.在DELPHI里面对参数进行赋值.
Ascn 2003-11-24
  • 打赏
  • 举报
回复
以前是用PB开发的,现在要改。
以前用PB时,是按不同但类似的条件进行统计后,一个一个地写入PB的数据窗口中的,
显示速度倒还可以。

现在用Delphi做。参数怎样设置、怎样赋值啊?我才刚进入Delphi大门:(
redcola 2003-11-24
  • 打赏
  • 举报
回复
啊?你的报表是怎么显示的啊
是本来就是一个一个的条件查询后的显示?
这样的话就设参数一个一个的赋值吧.
还是用SQL查出来的一整张表?
这个就好办了吧.
pantaloon 2003-11-24
  • 打赏
  • 举报
回复
gz
redcola 2003-11-24
  • 打赏
  • 举报
回复
我没有用过模版,在哪里可以下的说?我想看看.
Crystal Reports 9.2 中文版(水晶报表) 下载,,软件版本:9.2.0.448不过现已出了Crystal Reports Professional v9.2.2.634 (c) Crystal Decisions,有足够的空间就提供.这是一个很不错的报表控件,我相信很多朋友都听说过吧!Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。 创建所能想象的任何报表 Crystal Reports几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 ?您可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 不论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分析、解释重要信息。感谢 revenant 上传!

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧