- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库技术[二]12—报表设计
《数据库技术》
讲课:40学时
总 学 时 :64学时
实验:24学时:(2学时*12次)
教 师 : 薛昌春 xuechangchun@163.com
;报表设计;TQuickRep组件;TQRSubDetail 组件;TQRBand 组件;出现在所有页上的标题(PageHeader)
标题(只有首页才有)(Title)
所有列的标题(ColumnHeader)
记录的内容,一个字段一列(Detail)
摘要(最后一页才有)(Summary)
出现在所有页上的页脚(PageFooter);TQRExpr 组件;TQRSysData 组件;其他组件:;其他组件:;快速生成报表;;一个使用TQRGoups、TQRExpr控件的报表
报表先列出州名,接着列出该州的所有公司及公司总数,一个州列完后空一行(groups中断),列出新的州名,接着列新州下的所有公司,没有填州名的公司统一列在Unknown state下面。
1. 建立一个新project。; 2. 放一个Tquery,其SQL属性为:select * from customer order by State,Company;(即根据州、公司排序),DatabaseName为DBDEMOS,Active为true.
3. 放一个TquickRep控件在Form1上,DataSet为Tquery1.; 4. 放一个TQRGroups控件在TquickRep上,这时默认为group header。(任何时候当group中断或更高级别的group中断,这个header都将打印出来,如果有表达式,根据表达式的值显示内容。)接着添加一个group footer band,添加时,放一个TQRBand控件在报表上,连接TQRGroups的FooterBand属性到这个QRBand,这时这个新建的TQRBand就成为Group Footer. (TQRGroup的一个重要特性是表达式,任何时候当表达式的值变时Group都将中断,如表达式是按省列出城市名,当前列出广东省,当属于该省的城市列完后,表达式值改变,这时Group中断,接着显示其他省的城市名。)TQRGroups的Expression属性设为Query1.State(根据不同的州来中断)。; 5. 放一个TQRBand控件在报表上,BandType为rbDetail.
6.放一个TQRExpr控件在group header上面,其Expression属性为:if(State’’,State,’Unknown state’),即如果公司的州没填,就归入Unknown state,否则归入State.
7.放三个TQRDBText在Detail上,他们的DataSet都指向Query1,DataField分别指向Company,Contact,Phone.; 8.在放一个TQRExpr控件在group Footer上面,Expression为’Customers in’+State+’:’+Str(Count) 作用是在每个州的公司列完后显示该州总共有多少个公司。
9.按右键选预览,显示不同的州名及其公司和公司总数。;;QuickReport 条件式打印
可以直接在 TQuickReport 的 OnFilter 事件中写明条件判断,OnFilter事件的参数中有一个以 var 声明的 PrintRecord 布尔型变量,将这个变量设为 True(预设值), 该笔记录便会打印;反之,设为False,就不打印这笔记录.
procedure TForm1.QuickReport1Filter(var PrintRecord: Boolean);begin PrintRecord := False; if YourTable.FieldByName(WantedField).AsInteger = 100 then Exit; if YourTable.FieldByName(WantedField).AsInteger = 150 then Exit; PrintRecord := True;
文档评论(0)