![润乾常用报表开发实例.doc_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/045eaa65-02d3-418f-a236-b65b7db75856/045eaa65-02d3-418f-a236-b65b7db758561.gif)
![润乾常用报表开发实例.doc_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/045eaa65-02d3-418f-a236-b65b7db75856/045eaa65-02d3-418f-a236-b65b7db758562.gif)
![润乾常用报表开发实例.doc_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/045eaa65-02d3-418f-a236-b65b7db75856/045eaa65-02d3-418f-a236-b65b7db758563.gif)
![润乾常用报表开发实例.doc_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/045eaa65-02d3-418f-a236-b65b7db75856/045eaa65-02d3-418f-a236-b65b7db758564.gif)
![润乾常用报表开发实例.doc_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-3/14/045eaa65-02d3-418f-a236-b65b7db75856/045eaa65-02d3-418f-a236-b65b7db758565.gif)
已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常见报表形式1 如何在报表中显示图片 l 在实际项目中显示图片,一般是将图片放到服务器的文件夹中,让然后取得图片的绝对路径,在本例中,因为要取得图片地址根据考生的学号变化而变化,所以需要编写一个函数来取得图片的路径:create or replace function f_t_zsgl_bszs_hqzplj/*名称: 硕士招生 根据考生编号获取考生照片路径描述:作者: 徐耀辉修改日志:*/( in_nd in varchar2, in_zsjj in varchar2, in_bmh in VARCHAR2) return varchar2 is v_path varchar2(1000); -返回是否学位课beginv_path:=/opt/photo/|in_nd|/|in_bmh|.jpg; return(v_path);END;l 在数据集中进行调用:SELECT ROWNUM AS id, a.txdz AS 通信地址,a.yzbm AS 邮政编码,a.nd as 年度,a.ksbh AS 考生编号,a.xxgzdw AS 学习工作单位,b.DWMC AS 报考单位,c.ZYMC AS 报考专业,a.zjhm AS 证件号码,d.BKDMC AS 报名点, a.zzllm |a.zzllmc AS dy1,a.wgym |a.wgymc AS dy2,a.ywk1m |a.ywk1mc AS dy3,-a.bmh AS 报名号, a.xmas 考生姓名, f_t_zsgl_sszs_hqzplj(a.nd,a.bmh) AS 照片,-得到照片路径 CASE WHEN (SELECT dydm FROM T_ZSGL_SSZS_KSKMK ksk WHERE a.nd=ksk.nd AND a.ywk2m=ksk.kskmdm)=4 THEN a.ywk2m |a.ywk2mc ELSE END dy4, CASE WHEN (SELECT dydm FROM T_ZSGL_SSZS_KSKMK ksk WHERE a.nd=ksk.nd AND a.ywk2m=ksk.kskmdm)=5 THEN a.ywk2m |a.ywk2mc ELSE END dy5 FROM T_ZSGL_SSZS_KSBMK aLEFT JOIN (SELECT * FROM T_ZSGL_ZSSZ_ZSDWXX WHERE QYBZ=1 AND ZSLBDM=1) b ON a.BKDWDM=b.DWDM LEFT JOIN T_BZHB_QGZYK c ON a.BKZYDM=c.zydmLEFT JOIN T_ZSGL_ZSSZ_BKD d ON a.BMDDM= d.BKDDM LEFT JOIN t_zsgl_sszs_kskmk f ON a.ZZLLM=f.kskmdm AND a.nd=f.ndLEFT JOIN t_zsgl_sszs_kskmk g ON a.wgym=g.kskmdm AND a.nd=g.ndLEFT JOIN t_zsgl_sszs_kskmk h ON a.YWK1M=h.kskmdm AND a.nd=h.ndLEFT JOIN t_zsgl_sszs_kskmk i ON a.YWK2M=i.kskmdm AND a.nd=i.nd WHERE $condition ORDER BY a.ksbhl 点击单元格,点击右键,选择“数据类型及编码风格”,在数据类型中选择:图片文件,如下图:l 在单元格的数据值属性中获取从数据库中得到的数据,如下图:2 卡片式报表(没有大标题)卡片式报表的一般样式如下:l 首先设计样式:l 设置所有单元格的主格为可扩展单元格的名字,本例中设置为B2(注:B2的主格设置为空,不能以自己为主格,否则会循环调用,出错)l 设置报表分页方式为:按数据行数打印l 设置每页显示数据行数为每个小卡片里面包含的行数l 设置打印布局行数为每页需要显示的小卡片的行数l 设置打印布局列数为每页显示的小卡片的列数3 卡片式报表(有大标题)l 如果报表包含大标题,如果用上面的方法,则无法实现大标题居中,所以需要用一种新的方法实现,不过实现过程教上例复杂l 如需实现下述报表样式:l 首先计算应该一共卡片有多少行:在本例中为:=int(ds1.count()+1)/2),如果小卡片是分三列显示则为:=int(ds1.count()+2/3),四列则为:=int(ds1.count()+3)/4),以此类推l 扩展出需要显示的行l 将数据填充到卡片中,此例中用数据集中记录的行号来判断应该填入的位置,如此例中:左边中的卡片的行号为:=(A4-1)*2+1,右面的为:=(A4-1)*2+1,然后将数据填入,用多少ds1.#0(数据集中记录的行号)来与卡片的行号匹配,此例中先选出座位号,然后小卡片中其它单元格以座位号为主格,如图:l 设计完以后还需调节卡片之间的距离,或者标题的高度,让每页显示出需要的卡片的行数4 存储过程l 报表设计器支持存储过程的调用,不过只能得到返回的游标,其它返回的参数目前不能获取(也许是不知道怎么获取)l 定义数据集时,数据集的定义类似如下格式:call P_XJGL_XJBB_XSNLTJXX(?,?,?,?,?,?),数据集类型选择为存储过程,如图:l 选择编辑、参数,参数的顺序为存储过程定义的顺序:l 定义以后,存储过程数据集就和普通的数据集一样用了附:此例中的存储过程:CREATE OR REPLACE Procedure P_XJGL_XJBB_XSNLTJXX/* 名称: 统计在校学生年龄分组情况描述: 作者: jhfu 修改日志: 2007年6月19 日完成存储过程*/( in_bbbh IN VARCHAR2 , -报表编号 in_czlx IN varchar2, -1 历史数据查询 2- 当前数据查询 3-插入数据 in_czrgh IN varchar2, -操作人职工号 out_message Out VARCHAR2, out_bbbh OUT VARCHAR2, out_cur_xjxx OUT Sys_Refcursor) AS t_bh varchar2(20); t_bhmc varchar2(300); t_hj int; t_x17 int; t_x18 int; t_x19 int; t_x20 int; t_x21 int; t_x22 int; t_x23 int; t_x24 int; t_x25 int; t_x26 int; t_x27 int; t_x28 int; t_x29 int; t_x30 int; t_x31 int; t_bbbh varchar2(20) :=; t_count INT;BEGIN out_message :=1; IF in_czlx IS NULL THEN out_message := 操作类型代码不能为空!; RETURN; END IF; IF in_czlx=1 AND in_bbbh IS NULL THEN out_message := 历史数据查询请输入报表编号!; RETURN; END IF; IF in_czlx=3 AND in_czrgh IS NULL THEN out_message := 统计数据时,操作人工号不能为空!; RETURN; END IF; IF in_czlx=1 THEN OPEN out_cur_xjxx FOR SELECT BH,BHMC,X17,X18,X19,X20,X21,X22,X23,X24,X25,X26,X27,X28,X29,X30,X31,HJ FROM T_XJGL_XJBB_ZXXSNLFZ WHERE bbbh=in_bbbh; END IF; IF in_czlx=2 OR in_czlx=3 THEN OPEN out_cur_xjxx FOR SELECT 01 AS BH, 总计AS BHMC, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx UNION ALL SELECT 02 AS BH, 其中:女AS BHMC, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx WHERE xbdm=2 UNION ALL SELECT 03 AS BH, 博士生AS BHMC, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx WHERE xslbdm=01 UNION ALL SELECT 04 AS BH, 其中:女AS BHMC, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx WHERE xslbdm=01 AND xbdm=2 UNION ALL SELECT 05 AS BH, 硕士生AS BHMC, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx WHERE xslbdm=11 UNION ALL SELECT 06 AS BH, 其中:女AS BHMC, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx WHERE xslbdm=11 AND xbdm=2 UNION ALL -进修班 SELECT 07 AS BH, 研究生班学生AS BHMC, null AS X17, null AS X18, null AS X19, null AS X20, null AS X21, null AS X22, null AS X23, null AS X24, null AS X25, null AS X26, null AS X27, null AS X28, null AS X29, null AS X30, null AS X31, null AS hj /* nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)30 THEN 1 ELSE NULL END ),0) AS X31, nvl(SUM(1),0) AS hj FROM t_xjgl_xjxx_yjsjbxx WHERE xslbdm!=99 */ FROM dual UNION ALL SELECT 08 AS BH, 其中:女AS BHMC, /* nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)=17 OR csrq IS NULL THEN 1 ELSE NULL END ),0) AS X17, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)=18 THEN 1 ELSE NULL END ),0) AS X18, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)=19 THEN 1 ELSE NULL END ),0) AS X19, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)=20 THEN 1 ELSE NULL END ),0) AS X20, nvl(sum( CASE WHEN to_char(sysdate,YYYY)-to_char(csrq,yyyy)=21 THEN 1 ELSE NULL END ),0) AS X21, nv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1-3-Dieicosenoyl-glycerol-生命科学试剂-MCE-8506
- 二零二五年度上市公司员工持股协议转让易主合同
- 二零二五年度儿童教育机构门店联营合作协议
- 二零二五年度船舶转让手续办理与船舶交易评估与代理服务协议
- 2025年度足疗技师星级评定与聘用合同
- 2025年度二零二五年度道路运输项目投资合作协议
- 施工现场交通管制制度
- 社区护理实践儿童急症的处理以小儿急性喉炎为例
- 模拟卷高考复习科技文阅读教学设计
- 个人货款合同示例
- 2024年山东省济南市中考英语试题卷(含答案解析)
- 学校教育中的STEM教育模式培训课件
- 桩基础工程文件归档内容及顺序表
- 《民航服务沟通技巧(第2版)》王建辉教案 第7课 有效处理投诉
- 2023年新疆中考数学试卷真题及答案
- (新版)国民经济行业分类代码表(八大行业)
- 北京地铁13号线
- 塑料成型模具设计(第2版)江昌勇课件1-塑料概述
- 产业园EPC总承包工程项目施工组织设计
- 方形补偿器计算
- 为加入烧火佬协会致辞(7篇)
评论
0/150
提交评论