起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: guzhenpeng

【结】[请求]如何制作这样的表格文档报表:**

[复制链接]
 楼主| 发表于 2008-4-9 18:11:25 | 显示全部楼层
如果我表中无数据记录,就显示不出上面图的效果,达不到需求怎么办?
回复 支持 反对

使用道具 举报

发表于 2008-4-10 09:01:58 | 显示全部楼层
经过测试,确实不行,看来只能采用9楼的方法了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-10 09:24:33 | 显示全部楼层
是啊,但是X3对ORACLE数据库的存储过程调用也没用过,就看到用户手册上写的好象是无法反回游标?
现在有种最直接的最简单也是最笨的方法就是建立一个数据集里直接用SQL语句建立字段,然后在我的表格中对应的每一个格都是一个字段选择填充它的值就行了,不过这样的SQL语句太大了,对本地计算速度不知道怎么样.不过显示出来的效果可以满足要求,再有这样开发也快.X3对ORACLE数据库的存储过程调用的对存储过程没做过,怕不成功就又浪费时间了.
回复 支持 反对

使用道具 举报

发表于 2008-4-10 09:25:55 | 显示全部楼层
oracle能返回游标,看我的帖子哦。 用存储过程关键字搜索
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-10 09:26:04 | 显示全部楼层
比如SQL语句第一行的字段内容:
SELECT
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE TBL_MANPOWERINFO.Sex='1') as 主任男,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE TBL_MANPOWERINFO.Sex='2') as 主任女,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-25*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-19*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄2025,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-30*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-24*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄2630,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-35*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-31*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄3135,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-40*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-36*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄3640,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-45*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-41*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄4145,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-50*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-46*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄4650,
  (SELECT COUNT(TBL_MANPOWERINFO.PersonID) FROM TBL_MANPOWERINFO WHERE (TBL_MANPOWERINFO.Birthday>=Add_months(trunc(sysdate,'yyyy'),-55*12)) and (TBL_MANPOWERINFO.Birthday<=Add_months(trunc(sysdate,'yyyy'),-50*12))and(TBL_MANPOWERINFO.Duty='Duty01')and(TBL_MANPOWERINFO.PersonType='SF01')) as 主任年龄5155
FROM TBL_MANPOWERINFO
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-10 09:27:25 | 显示全部楼层
这样的SQL语句实在是看不下去了,:<
先结了吧,有问题我再问
回复 支持 反对

使用道具 举报

发表于 2008-4-10 09:39:39 | 显示全部楼层
好。lixy 说的存储过程分享帖,就是这个帖子
http://bbs.justep.com/forum.php?mod=viewthread&tid=15936


另外,别忘记看看一下  http://bbs.justep.com/forum.php?mod=viewthread&tid=22223   这个帖子5楼给的方案,
无论结果怎样,都跟一下那个帖子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-10 10:06:18 | 显示全部楼层
好的,知道了,测试好了再跟帖子
回复 支持 反对

使用道具 举报

发表于 2008-4-10 10:14:26 | 显示全部楼层
en
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-11 14:36:26 | 显示全部楼层
在标准数据集中写了大量了的SQL,完成了,数据没输入多少,我想输入多了一定会慢的,但是新总理出现了!!! 怎么表格文档中我设置了"水平居中"数据显示的并不是,重画和新建多次都是这样的问题,请看图:

notspjz.jpg

252.43 KB, 下载次数: 70

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-10 11:16 , Processed in 0.043698 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表