如何实现这种效果的打印,主表每页都打印在页面上部,子表一页打不开时,换页继续接着打?(用active reports 实现)

tdcq123 2008-04-08 11:10:40
如何实现这种效果的打印,主表每页都打印在页面上部,子表一页打不开时,换页继续接着打?(用active reports 实现)
---------------------------------------
通过下面的图,不知大家能否明白我的意思,因为这个页面是由多个子表构成的.
可是子表的数据,有可能在一页内打不完(子表数据的打印区域只占一个页面的一个固定区域),我就想换到下一页继续打,可是主表的内容要每页都有.这其实是最常见的表格格式了.可是我不知用activereports如何实现,自带示例中也没有这样的演示,故向大家请教,谢谢.
...全文
56 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
DengXingJie 2008-04-12
看完你的描述是似很難但卻又感覺很容易的那種
不知你所說的子表是用一子報表來實現還是用主報表的Detail來實現
我個人認為你的需求就用一個報表可以實現,不過得調整一下你的SQL語句

在Detail區域會根據你的實際高度來確定該列印多少行,你可以調整到5行的高度來輸出5行記錄
如果實際記錄少於5行你可以用" "來替代,注意一定得包含一空格.
回复
tdcq123 2008-04-12
[Quote=引用 10 楼 DengXingJie 的回复:]
看完你的描述是似很難但卻又感覺很容易的那種
不知你所說的子表是用一子報表來實現還是用主報表的Detail來實現
我個人認為你的需求就用一個報表可以實現,不過得調整一下你的SQL語句

在Detail區域會根據你的實際高度來確定該列印多少行,你可以調整到5行的高度來輸出5行記錄
如果實際記錄少於5行你可以用" "來替代,注意一定得包含一空格.
[/Quote]
看来你理解的太简单了,
不是简单的master + detail 的模式,子表有好多个,并不是一个,子表一个好处理,子表多时如何处理呀?
我5楼贴图的报表,是用 sap erp 打印出来的.

sap如些简单的功能,对于vb处理就无法实现吗?
回复
supergreenbean 2008-04-12
应该会有类似repeater一样的控件吧
回复
tdcq123 2008-04-11
[Quote=引用 7 楼 supergreenbean 的回复:]
我是说把主表放在Header
[/Quote]
这个我知道,主表一定要放在表头中.这是肯定的.没有疑问,而且如果出现多页的情况,每页的主表信息都是相同的.
很好处理.
我想问的是:子表如何处理.
难点基于以下几点:
1.子表的打印区域是固定的,在固定的这个打印区域打不下时,会在下一页的该打印区域继续打.
   所以关键在于处理,如何才能打印时不超过子表的区域,而且也不能小于子表的区域.(即如何子表记录少,不够填满子表打印区域,则以空白占位.)
2.如何控制子表打印几行后就换页.比如设定某子表打印区域要打满5条记录,超过5条就打在打一页,如何控制呢?

回复
supergreenbean 2008-04-11
我是说把主表放在Header
回复
tdcq123 2008-04-11
5楼的图中,
每个子表,如果记录多,第一面打不全时,会将余下的子表记录继续打印在第二张,第三张的子表中...
回复
tdcq123 2008-04-11
再发一个图
这是用别的erp软件打印出来的表,我想实现这种效果,大家看看,一张表中有多个子表.


回复
tdcq123 2008-04-11
[Quote=引用 2 楼 swankie 的回复:]
你采用的是vb的报表设计器吗?
[/Quote]
我用的是activereport,其实道理都是一样的,
关键是思路我不明白。

就是好多子表,这些子表有时一页打不开。如果有规律,比如不会超过多少条记录,可以放到表头Header中,可是问题是,没有规律,有时子表记录非常多。而且是多个子表。
比如说,将所有的子表都放在表头中,假如子表记录多,一页打不开,如何处理呀?
回复
supergreenbean 2008-04-11
不能把上面的内容放到Header中么
回复
swankie 2008-04-11
你采用的是vb的报表设计器吗?
回复
tdcq123 2008-04-11
多日竟然无一回复.
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7490

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2008-04-08 11:10
社区公告
暂无公告