制作一奇怪的报表。有意者请进!

ylg007 2001-12-01 10:56:44
sybase库中表table1结构如下:
number(票据号码) lx(类型) je(金额) sj(日期)
数据类型 char smallint decimal datatime

***lx=0为作废 lx=1为有效 lx=2为退款

需要当天的票据明细报表如下:
。。。。表名:有效和作废明细表。。。。。。
记录(table1表中是类型为有效和作废的记录)

金额:类型为有效和作废的票据的金额总和
------------------------------------------------
。。。。表名:作废明细表。。。。。。。。。
记录(table1表中是类型为作废的记录)

金额:类型为作废的票据的金额总和

--------------------------------------------------------
。。。。表名:退款明细表。。。。。。。。。
记录(table1表中是类型为退款的记录)

金额:类型为退款的票据的金额总和
--------------------------------------------------------
汇总: (类型为有效和作废的票据的金额总和)-(类型为作废的票据的金额总和+
类型为退款的票据的金额总和)

已使用的号码范围:最小值 至 最大值
----------------------------------------------------------
...全文
140 14 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamxia 2001-12-01
  • 打赏
  • 举报
回复
你可以分别打印在新页上,但只要页号连续,不知道这个办法能不能满足你的要求
ylg007 2001-12-01
  • 打赏
  • 举报
回复
这样就引伸出传参数的问题:
http://www.csdn.net/expert/topic/395/395555.shtm
pbworm 2001-12-01
  • 打赏
  • 举报
回复
一个笨方法,你可以在调用数据窗口前先使用sql语句将汇总计算出来,然后在将这个汇总值作为一个参数传递到数据窗口中,在写汇总的地方不要使用任何的计算,直接将这个参数写进去就可以了。

不知道这样符不符合你的要求,我以前就是这样做的。
ylg007 2001-12-01
  • 打赏
  • 举报
回复
to : pbworm(pb菜鸟) 
使用compsite类型的报表会出现以下问题:
类型为有效和作废的记录在dwchild1,
类型为作废和退款的记录在dwchild2。记录列出来不
成问题,但在汇总时就有麻烦了。汇总是在dwchild2中,
而dwchild2中没有类型为效的票据的数据。
汇总=(类型为有效和作废的票据的金额总和)-(类型为作废的票据的金额总和+
类型为退款的票据的金额总和)
ylg007 2001-12-01
  • 打赏
  • 举报
回复
to : pbworm(pb菜鸟) 
使用compsite类型的报表会出现以下问题:
类型为有效和作废的记录在dwchild1,
类型为作废和退款的记录在dwchild2。记录列出来不
成问题,但在汇总时就有麻烦了。汇总是在dwchild2中,
而dwchild2中没有类型为效的票据的数据。
汇总=(类型为有效和作废的票据的金额总和)-(类型为作废的票据的金额总和+
类型为退款的票据的金额总和)

pbworm 2001-12-01
  • 打赏
  • 举报
回复
你使用compsite类型的报表试试。
ylg007 2001-12-01
  • 打赏
  • 举报
回复
to : pbworm(pb菜鸟) 
是一个表。
to angelideng(PB幼儿) 
可是lx=0 和 lx=1的票据要在一个组,lx=0又要另外在一组。
angelideng 2001-12-01
  • 打赏
  • 举报
回复
用分组报表
pbworm 2001-12-01
  • 打赏
  • 举报
回复
你要做的是三个表还是一个表啊?
ylg007 2001-12-01
  • 打赏
  • 举报
回复
在线救助
ylg007 2001-12-01
  • 打赏
  • 举报
回复
真的很好。真是帮了我的大忙了。
pbworm 2001-12-01
  • 打赏
  • 举报
回复
to ylg007(棕子)
我的方法绝对好用,我的程序中就是这样使用的。
ylg007 2001-12-01
  • 打赏
  • 举报
回复
to iamxia(风,来去匆匆) 
难道真不能向composite报表中两个子数据窗口传参数来检索数据吗?
pbworm 2001-12-01
  • 打赏
  • 举报
回复
关于参数的问题是可以解决的。例如:
有数据窗口d_1,参数为ls_1 string,li_1 int,数据窗口d_2,参数为li_2 int
其中d_1的li_1和d_2的li_2在检索的时候数据相同。

利用d_1 and d_2建立一个compsite类型的数据窗口,在COMPSITE类型的数据窗口的属性中有retrieve arguments这一项,在其中定义两个参数ls_compsite1 string,li_compsite2 int

然后在COMPSITE数据窗口中选中d_1,在它的属性中你可以看到arguments表,其中显示了d_1中定义的两个参数,在后面还有一个expression- click button for dialog类,在相应的位置填写上你在compsite中定义的参数就可以了。

d_2同理

这样在调用数据窗口的时候,只要输入两个参数ls_compsite1,li_compsite2就可以实现对d_1和d_2的检索了。
我的环境是7.0.2
发帖
PowerBuilder

1028

社区成员

PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
帖子事件
创建了帖子
2001-12-01 10:56
社区公告
暂无公告