- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在Oracle中复杂报表打印设计和实现
在Oracle中复杂报表打印的设计与实现
一、前言
随着信息技术的普及和发展,数据库管理信息系统的应用日趋广泛。在大型数据库系统中,Oracle数据库是技术和性能较好的系统之一。运用Oracle及其Developer/2000工具开发应用系统过程中,经常涉及到复杂报表的形成和打印问题。由于语言特点的不同、应用系统的业务特点不同,相应的设计开发也有不同的特点。笔者就实际开发过程中的经验,对这一技术问题进行深入分析和总结,给出了三种设计开发复杂报表的方法——程序控制方式打印复杂报表、使用Report设计和打印复杂报表、OLE方式打印Word报表,通过灵活运用,能够设计和实现Oracle数据库应用系统中的各种复杂报表。
二、一般的报表打印
在Oracle MIS系统中,通过Developer/2000的Form工具开发数据维护模块,Report工具设计报表,并利用程序调用进行各模块的集成。
1.Form设计
Form工具能够开发数据录入、查询、修改以及系统菜单等功能,并能通过程序接口调用报表模块进行打印。
2.报表设计
Report工具能够进行直观的报表设计,生成报表模块,可以单独执行或为Form模块调用执行。该报表一般针对一个数据库表或视图设计,在相同表头下显示多个数据记录,并自动换页处理。
3.调用报表打印
主要调用步骤有:
(1)在Form中要根据打印查询条件形成数据记录组(Create_group_from_query);
(2)建立参数列表(create_parameter_list);
(3)将数据记录组加入参数列表中(add_parameter);
(4)调用相应的Report报表模块(Run_report)。
在程序中同时可以对数据记录进行统计、分析、加入空行、子标题等高级处理。
三、程序控制方式打印复杂报表
1.应用环境及设计思想
涉及数字和统计的复合型报表,在经费预决算管理中经常使用。这种报表格式较为固定和有规律,但其数据来源于多个数据库表,既有多行文本数据记录,又需要进行合计的统计,同时表中每部分数据有不同的子标题。这种报表的设计如果只用Report设计难度很大。
解决的办法是在Report固定报表的基础上,以程序控制为主,在Form中将所有需要打印的数据、标题、序号完全通过程序准备好,通过数据参数在调用Report报表时打印,以此实现固定报表中复合数据的打印。这里数据的准备工作需要按照业务流程和报表格式的不同分别进行,其程序设计的思想是一致的。下面以经费管理举例说明。
2.数据库及报表结构
例如数据库中有项目预算表(b_jfys)、项目决算表(b_jfjs)、本级开支表(b_bjkz)。项目预算表中的预算项目,根据使用单位的不同分为:
·对下预决算项目:该预算经费下拨,决算金额由使用单位上报,记入项目决算表;
·不决算项目:该经费下拨,决算经费同预算经费;
·本级决算项目:本级预算项目具体开支情况,记录于本级开支表,决算金额由该表统计出。
年度预决算报表形式如表1所示。
该报表格式可通过Report设计完成,在设计时可以建立一个项目结构与之对应一致的工作数据库表-决算报表(b_jsbb),该表初始和每次打印后清空。
3.打印程序
打印程序的任务是将需要打印的数据完全准备好。主要完成以下功能:
(1)对应决算报表(b_jsbb)建立查询记录组g_jsbb,由于该表为工作临时表,所以查询结果为空集。
(2)处理对下预决算部分
决算金额数据由决算表统计,预算项目及金额由预算表查询形成记录组g_yjs,程序处理的关键是将记录组g_yjs中的每个记录的每个项内容读出并写入记录组g_jsbb,同时写入子标题和序号。主要读写程序如下,(P为记录序号)。
Add_Group_Row(g_jsbb, END_OF_GROUP);
r_ysxm:=get_group_char_cell(g_yjs.xmmc,p);
set_group_char_cell(g_jsbb.xmmc,row1,r_ysxm);
(3)处理对下决算部分
预算项目及金额由预算表查询形成记录组g_ys,决算金额同预算。现在需要将该记录组的数据读出顺序写入记录组g_jsbb中,并写入标题和序号。写入标题和序号程序为:
Add_Group_Row(g_jsbb, END_OF_GROUP);
set_group_char_cell(g_jsbb.xmmc,row1,不决算部分);
set_group_char_cell(g_jsbb.xh,row1,二);
(4)处理本级开支部分
预算项目及金额由本级开支表查
您可能关注的文档
- 编译原理ppt2_1.ppt
- 1-煤矿井下接地极安装和设置标准.doc
- 1.3 人类和环境.doc
- 111010101010瑞安综合中学2009年高考英语复习回顾和反思.doc
- 1第一章 认知发展和教育.ppt
- 2007--2011年高考真题分类汇编和解析:1·3宋明理学(人民版必修Ⅲ).doc
- 2007-2008年第1学期《货币学和金融史》试卷.doc
- 2006年椒江区实验小学五年级阅读和作文竞赛试卷.doc
- 07 第7课 重大发明和科技创新.ppt
- 2010年中考思想品德和历史.doc
- 浙江省嘉兴市2025-2026学年高三上学期9月月考英语(解析版).docx
- 山东省菏泽市2024-2025学年高二下学期7月期末地理(原卷版).docx
- 河北省承德市五校2026届高三上学期10月月考政治 Word版含解析.docx
- 湖南省百师联盟2025-2026学年高三上学期开学摸底联考政治(解析版).docx
- 浙江省嘉兴市2025-2026学年高三上学期9月月考英语 Word版含解析.docx
- 河北省秦皇岛市第一中学2025-2026学年高三上学期9月月考政治 Word版无答案.docx
- 浙江省嘉兴市2025-2026学年高三上学期第一次基础测试历史(解析版).docx
- 浙江省嘉兴市2025-2026学年高三上学期9月月考英语(原卷版).docx
- 安徽省县中联盟2025-2026学年高三上学期开学联考物理Word版.docx
- 黑龙江省齐齐哈尔市第八中学校2025-2026学年高一上学期9月月考 政治答案Word版.docx
最近下载
- JHGP电除尘高频电源系统运行维护手册.pdf VIP
- 这本书能让你戒烟-简单戒烟.docx VIP
- 标准图集-华北-12N1 供暖工程.pdf VIP
- GB 45673- 2025《危险化学品企业安全生产标准化通用规范》之“5.8 作业安全”审核检查单(雷泽佳编制-2025A0).docx VIP
- 胎儿颜面部畸形的超声诊断粟泽平.PPT VIP
- 《爷爷一定有办法》阅读测试题.doc VIP
- 组织架构调整与人员调配方案.pptx VIP
- 《MSCCirc 664--1994年货物积载与系固安全操作规则(CSS 规则)修正案》.pdf VIP
- 生态环境案例分析.docx VIP
- 管理者思维突破与创新.doc VIP
文档评论(0)