社区
数据库相关
帖子详情
各位老师,delphi 报表 quickrep 中的count 为什么用不了?
abcd_nonqq
2009-04-26 01:46:08
各位老师,delphi 报表 quickrep 中的count 为什么用不了? sum 就能用.
...全文
42
1
打赏
收藏
各位老师,delphi 报表 quickrep 中的count 为什么用不了?
各位老师,delphi 报表 quickrep 中的count 为什么用不了? sum 就能用.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
abcd_nonqq
2009-04-26
打赏
举报
回复
我会做了.
利用
Quick
Report创建
报表
一、 简单了解各控件功能 以下是各控件最简单的使用功能,其他功能依具体的实现而介绍。 T
quick
Rep:带有坐标,作为其他
报表
控件(如TQRBand)的容器,它的Band属性可以自动添加各种类型的TQRBand. TQRLabel:打印静态的文本(即不是根据数据库值来改变的),作用象Tlabel , Caption的内容就打印出来的内容。 TQRDBText:打印数据库字段值,一个值一行。作用象TDBText.把它的DataSet , DataField分别赋予Table1,Company时,将打印Table1所指向的表的Company字段的内容。 TQRSysData:打印系统信息如时间,页码,
报表
头等。 TQRMemo:非常象TQRLabel,只是它可以打印多行,也是打印静态数据。 TQRRichText:打印RichText格式,能够连接到一个Form上的RichEdit控件并打印它的内容,不过必须是32位版本的。 TQRShape:打印方框、圆和垂直、水平线。 TQRImage:打印静态的图片,包括(BMP,WMF,ICON). TQRDBImage:从数据库接收图片。 TQRBand:用来确定
报表
的不同位置应该显示什么内容,它上面可以放控件(参见二)。 TQRGoups:Groups可以不限级别的组操作。当你连接了几个datasets到
报表
时可以通过Groups成组的对dataset进行操作。 二、
报表
的控件摆放循序 出现在所有页上的标题(PageHeader) 标题(只有首页才有)(Title) 所有列的标题(ColumnHeader) 记录的内容,一个字段一列(Detail) 摘要(最后一页才有)(Summary) 出现在所有页上的页脚(PageFooter) 这些根据设置不同的Band(不是控件,一种类型而已,在其上面可以放其他控件)来定位。总共有六种Band。 三、 一个简单的例子 这个例子制作打印一张表的部分字段名及该字段数据内容的
报表
。 建立一个新project 放一个TTable到Form上,DatabaseName设为BCDEMOS,TableName指向Customer表,Active设为true. 放一个T
quick
Rep控件在Form上,DataSet属性为Table1.(即要显示上边Table1所指向的表的内)。 展开T
quick
Rep的Bands属性,设HasDetail为true,这时自动增加个detail band(一个TQRBand控件,故也可以直接放一个TQRBand控件,BandType属性设为detail就行了)。 放一个TQRDBText控件在detail band上面,设DataSet指向Table1,DataField指向Company。第四步是设置在
报表
的什么位置显示什么类型的数据,而TQRDBText则具体实现。 选T
quick
Rep控件,按右键,选择”Preview”预览,应该看到表Customer的字段Company的所有字段值。 到这一个简单的例子就OK了,程序实现预览及利用TQRuickRep自带的打印功能只须在Form
中
加一个按钮,它的OnClick事件为:
Quick
Rep1->Preview(); 四、一个使用TQRGoups、TQRExpr控件的
报表
该
报表
先列出州名,接着列出该州的所有公司及公司总数,一个州列完后空一行(groups
中
断),列出新的州名,接着列新州下的所有公司,没有填州名的公司统一列在Unknown state下面。 建立一个新project。 放一个Tquery在T
quick
rep上,其SQL属性为:select * from customer order by State,Company;(即根据州、公司排序),DatabaseName为BCDMome,Active为true. 放一个T
quick
Rep控件在Form1上,DataSet为Tquery1. 放一个TQRGroups控件在T
quick
Rep上,这时默认为group header。(任何时候当group
中
断或更高级别的group
中
断,这个header都将打印出来,如果有表达式,根据表达式的值显示内容。)接着添加一个group footer band,添加时,放一个TQRBand控件在
报表
上,连接TQRGroups的FooterBand属性到这个QRBand,这时这个新建的TQRBand就成为Group Footer. (TQRGroup的一个重要特性是表达式,任何时候当表达式的值变时Group都将
中
断,如表达式是按省列出城市名,当前列出广东省,当属于该省的城市列完后,表达式值改变,这时Group
中
断,接着显示其他省的城市名。)TQRGroups的Expression属性设为Query1.State(根据不同的州来
中
断)。 放一个TQRBand控件在
报表
上,BandType为rbDetail. 放一个TQRExpr控件在group header上面,其Expression属性为:if(State<>’’,State,’Unknown state’),即如果公司的州没填,就归入Unknown state,否则归入State. 放三个TQRDBText在Detail上,他们的DataSet都指向Query1,DataField分别指向Company,Contact,Phone. 在放一个TQRExpr控件在group Footer上面,Expression为’Customers in’+State+’:’+Str(
Count
) 作用是在每个州的公司列完后显示该州总共有多少个公司。 按右键选预览,应该看到不同的州名及其公司和公司公司总数。 五、
Quick
Report 条件式列印 可以直接在 T
Quick
Report 的 OnFilter 事件
中
写明条件判断,OnFilter事件的引数
中
有一个以 var 宣告的 PrintRecord 布林型态变数,将这个变数设为 True(预设值), 该笔记录便会印出;反之, 设为False,就不印出这笔记录. procedure TForm1.
Quick
Report1Filter(var PrintRecord: Boolean); begin PrintRecord := False; if YourTable.FieldByName(‘WantedField‘).AsInteger <= 100 then Exit; if YourTable.FieldByName(‘WantedField‘).AsInteger >= 150 then Exit; PrintRecord := True;
用
Delphi
实现
报表
的横向分组打印
Delphi
内置的
Quick
Report
报表
系统为我们快速制作
报表
提供了有力的支持。对于一些简单的
报表
,包括纵向分组多表头
报表
,我们几乎不用写一句代码,就可以方便地完成
报表
的制作。但是对于图一所示的横向分组的
报表
,我们还需要写一些代码来控制
报表
的打印格式。本文就以图一所示
报表
为例,向大家介绍横向分组
报表
的制作方法和技巧。 首先添加一个
报表
窗体 QRForm1,
Quick
Report
Delphi
7完全解决方案
前言 本人很不喜欢
Quick
Report,因为其有太多问题,也太不灵活。但在开发过程
中
,还是无法避免接触到这种问题,特别是历史遗留下来的控件,几乎是不可能把那么多的
报表
去换成其他
报表
控件的。我把自己在改造一个项目
中
使用
Quick
Report的经验写出来,当然,有部分是从别的地方摘抄的,就一起整合了。 1.使用
delphi
自带控件。
Delphi
7
中
仍然存在
Quick
R
在
Delphi
中
动态生成
Quick
Report
报表
----笔者在前一段使用
Delphi
开发数据库的工作
中
,用户提出了这样一个需求:要根据自己的的查询结果动态生成
报表
然后进行打印。几经摸索,笔者使用动态生成
Quick
Report控件的方法满足了用户的需求。现将此方法说明如下,希望能为有类似工作要做的朋友们提供一点有益的提示。 一、基本思路 ----先将查询的一些参数(如SQL命令,字段名称,字段宽度等)按照一定格式写入一个临时文...
Delphi
程序执行时实时生成
报表
作者:刘建华
Delphi
程序执行时实时生成
报表
当前,在软件开发工具
中
,
Delphi
以其控件多、面向对象编程功能强、代码执行速度快和简单易用等特点,结合可视化开发环境和当前最快的编译器技术,已成为全球公认的快速应用开发工具,正被愈来愈多的编程人员所采用。使用
Delphi
可以编写各种Windows应用程序,尤其是开发数据库信息管理系统有其独特的优势。在数据库信息管理系统的开发
数据库相关
2,498
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章