我们都知道Oracle reports是Oracle的数据统计和图形化报表的工具,Oracle reports提供了六种不同风格的报表格式,但是我们经常使用的两种,就是tabular与matrix,以下的文章就有相关的介绍。

无论用哪种风格生成的报表,打印出的表格数都是动态变化的。其中tabular风格的报表,列数固定,而行数不定;matrix风格的报表,行数和列数均不定。那么在Oracle reports中如何实现报表的定长与定宽输出呢?笔者在实际开发过程中对上述两种风格的报表各总结出一种行之有效的方法,供大家参考。

对于tabular风格的报表,可用报表触发子after parameter form和after report实现定长输出。其方法是:根据实际情况确定每页打印的行数,当***一页的记录数少于每页打印的行数时,则用空记录补齐。在触发子after parameter form插入空记录,在触发子after report中再将空记录删除,下面举例说明。

假设有一数据基表wzdm:存放物资代码信息,其数据结构为:

字段名 含义 长度 类型

wzdm 物资代码 9 c

wzmc 物资名称 20 c

xhgg 型号规格 20 c

jldw 计量单位 6 c

要求:按定长输出物资代码表,并且每页均输出x行(x可根据实际情况而定)。

1.启动Oracle reports,建立物资代码打印报表(略),然后在报表触发子after parameter form中加入以下代码:

declare

v—jls number(2);

i number(2):=1;

begin

select count() into v—jls from wzdm;

if mod(v—jls,x)〈〉0 then

loop

exit when i〉=(x-mod(v—jls,x))+1;

insert into wzdm(wzdm,wzmc,xhgg,jldw)

values(′′,′′,′′,′′);

ii:=i+1;

end loop;

commit;

end if;

end;

在报表触发子after report中分别加入以下代码:

begin

delete from wzdm where wzdm is null;

commit;

end;

2.运行报表后即可输出定长的物资代码表。

说明:对于其它tabular风格的报表,在编写上述两个触发子时只需将基表名与列名根据实际情况修改一下,并确定x的值即可。

以上的相关内容就是Oracle reports对Oracle的数据统计及图形化报表工具的介绍,望你能有所收获。

【编辑推荐】

【责任编辑:孙巧华 TEL:(010)68476606】

点赞 0

oracle 怎么写报表,Oracle reports提供的六种风格报表格式相关推荐

  1. oracle 日志写满,Oracle归档日志写满错误解决方法

    最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对Oracle比较熟悉,只能给自己增加一个DBA的角色了.由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开 ...

  2. oracle 存储过程写文件,Oracle写本地文件

    Oracle写本地文件是指写到运行Oracle的主机上,而不是运行该脚本的机器上. 说起来有点拗口,实际上就是无论在哪里执行这个过程,生成的文件始终都是在服务器上的. 下面过程实现了这个功能: log ...

  3. Oracle高人写的Oracle运行原理性文章(zt)

    我们从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS ...

  4. oracle如何写check,Oracle之Check约束实例详解

    Oracle | PL/SQL Check约束用法详解 1. 目标 实例讲解在Oracle中如何使用CHECK约束(创建.启用.禁用和删除) 2. 什么是Check约束? CHECK约束指在表的列中增 ...

  5. [水晶报表]如何设置水晶报表(crystal reports)的字段自动换行

    在做报价系统时候水晶报表做最后报表的产出.由于规格字数较长,用户在预览报表时无法看全规格,规格多出部分会导致重叠现象. 百度文库提供一个解决方案: 1.如何设置水晶报表(crystal reports ...

  6. oracle生产系统报表系统,基于B/S的企业报表管理系统(JavaEE,Oracle)

    基于B/S的企业报表管理系统(JAVAEE,Oracle)(任务书,文献综述,外文翻译,毕业论文19000字,程序代码,答辩PPT) 摘 要 随着计算机应用的发展,信息技术在企业中发挥着越来越重要的作 ...

  7. 过程 oracle 写在哪里,Oracle怎么写存储过程? 在什么地方写以及怎么调用?最好给个Sample 急(2)...

    当前位置:我的异常网» Java Web开发 » Oracle怎么写存储过程? 在什么地方写以及怎么调用 Oracle怎么写存储过程? 在什么地方写以及怎么调用?最好给个Sample 急(2) www ...

  8. oracle 创交表,创建交叉报表(oracle)_oracle

    创建交叉报表 create table t1( goodid  number(10)  not null, saledate  date   not null, salesum  number(10) ...

  9. SQL强化(二) 在Oracle 中写代码

    一  : 关于查询中的转换 -- 字符串转换 一 : decode 函数 转换 SELECT DECODE ( PROTYPE.PRO_TYPE_DATE, 'L', '长', 'm', '短', ' ...

  10. oracle和mysql通用建表语句_mysql建表语句到oracle怎么写?

    mysql建表语句到oracle怎么写? CREATE TABLE `Advertisment` (  `AdId` int(8) NOT NULL auto_increment,  `AderId` ...

最新文章

  1. sample, batch, epoch 分别是什么?
  2. 降噪自动编码器:DAEs
  3. SQL Cookbook:一、检索记录(13)按模式搜索
  4. Android studio实现底部导航,Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果...
  5. 自动填充html_第 11 篇:自动生成文章摘要
  6. SQL中PIVOT 使用
  7. java对某个字段排序_Java8对List集合对象某个字段进行排序
  8. Python设计模式(七)【命令模式】
  9. vcpkg编译库位数总结
  10. 客户端安装SP3补丁包失败
  11. 央视《家有妙招》整理版,共250招,值得收藏
  12. spss实现中心化处理、标准化处理和归一化处理
  13. 共读ulord项目分析(一)
  14. java word 添加水印图片_Java添加Word文本水印和图片水印
  15. ubuntu文件格式转换
  16. YBT 6 数学基础
  17. 使用vs2010生成64位的dll文件
  18. html如何上下滚动字幕,css如何做滚动字幕效果?
  19. VS2019中,解决“错误CS0006:未能找到元数据文件”
  20. python金融基础知识_Python金融时间序列分析(一):基础知识

热门文章

  1. python arp断网攻击_arp断网攻击,教您arp断网攻击怎么解决
  2. xampp 登陆MySQL 访问被拒绝
  3. iOS开发之千呼万唤始出来iOS10更新内容以及iOS 10的闪退问题解决
  4. 抽屉新热榜html源码,利用scrapy获取抽屉新热榜的标题和内容以及新闻地址保存到本地...
  5. 如何阻止事件冒泡和浏览器的默认行为
  6. 一個“語言”引發的血案
  7. matlab水印提取
  8. 网络访问:从网络访问此计算机属性增加guest组,workgroup无法访问,详细教您workgroup无法访问如何解决...
  9. 支付宝营销策略效果分析 A/Btest
  10. Android Uri的几种使用方法,分享共同学习