主题:关于报表设计的问题?
pengwei0417
[专家分:0] 发布于 2008-08-10 22:49:00
我的表中有90多条记录.
设计报表有三个带区 页标头 细节 页注脚
用矩形和线画了表格,格式见上传文件.
在最后一页我发现只显示几条记录后,表格底边一直到页的最下方很难看,如何才能让最后一页表格的底边到最后一条记录为止?
感谢指点!
这是表+报表文件,把他加到数据环境中就可以看出问题了,麻烦老师看一下,该如何更改报表布局?
最后更新于:2008-08-12 15:55:00
回复列表 (共6个回复)
沙发
ihorse [专家分:970] 发布于 2008-08-11 07:40:00
我有个思路是判断每页的记录数,然后再看看总的记录数是多少,想办法增加空记录让总记录数变更为每一页记录数的整数倍。
例如,每页打印20条,而实际上记录只有50条,那么,要打印3页,而第三页只有10条,现在我们在表中追加10条(20*3-50=10),以便填充满第三页(实际上后面10条还是空白项目)。
设总记录数为N,每页打印M条,则页数等于:INT(N/M)+1
需要追究的记录条数为: M*(INT(N/M)+1)-N
,这样不知道是否可行,借此机会学习一下高人的做法。
板凳
qjbzjp [专家分:8830] 发布于 2008-08-11 09:37:00
前面已有类似的帖子。
use 原报表库 in 1
copy to dytemp &&拷贝到临时库
sele 2
use dytemp
DYHS=RECC() &&获取打印总行数
dyhy=iif(dyhs%报表行数=0,0,报表行数-dyhs%报表行数) &&获取最后一页应添加的行数
for i=1 to dyhy &&添加空行
appe blan
next for
*打印报表用临时库作为数据源
打印报表……
删除dytemp临时库
3 楼
zhang299 [专家分:50] 发布于 2008-08-11 10:06:00
[quote]我有个思路是判断每页的记录数,然后再看看总的记录数是多少,想办法增加空记录让总记录数变更为每一页记录数的整数倍。
例如,每页打印20条,而实际上记录只有50条,那么,要打印3页,而第三页只有10条,现在我们在表中追加10条(20*3-50=10),以便填充满第三页(实际上后面10条还是空白项目)。
设总记录数为N,每页打印M条,则页数等于:INT(N/M)+1
需要追究的记录条数为: M*(INT(N/M)+1)-N
,这样不知道是否可行,借此机会学习一下高人的做法。[/quote]
我也是这么处理的.同意此说法
4 楼
pengwei0417 [专家分:0] 发布于 2008-08-11 12:07:00
添加空数据,下面的表格还正常显示,只不过表格中没有数据,是不是这个意思?
能不能让最后一页的表格只显示到最后一条数据,也就是表格的最底边到最后一条数据为止,而不是显示到页面的最下方?
5 楼
qjbzjp [专家分:8830] 发布于 2008-08-12 10:18:00
是添加了空行,里面没有数据。
正常情况下,报表应该是“最后一页的表格只显示到最后一条数据,也就是表格的最底边到最后一条数据为止,而不是显示到页面的最下方”
附件中没有数据库,所以报表打不开。不清楚楼主的报表出了什么问题,报表显示的实际情况是什么样。
6 楼
cbl518 [专家分:57140] 发布于 2008-08-12 11:10:00
将形状控件的底格线放到细节区中啊!
我来回复