回 帖 发 新 帖 刷新版面

主题:关于报表设计的问题?

我的表中有90多条记录.
设计报表有三个带区 页标头 细节 页注脚

用矩形和线画了表格,格式见上传文件.

在最后一页我发现只显示几条记录后,表格底边一直到页的最下方很难看,如何才能让最后一页表格的底边到最后一条记录为止?

感谢指点!

这是表+报表文件,把他加到数据环境中就可以看出问题了,麻烦老师看一下,该如何更改报表布局?

回复列表 (共6个回复)

沙发

我有个思路是判断每页的记录数,然后再看看总的记录数是多少,想办法增加空记录让总记录数变更为每一页记录数的整数倍。

例如,每页打印20条,而实际上记录只有50条,那么,要打印3页,而第三页只有10条,现在我们在表中追加10条(20*3-50=10),以便填充满第三页(实际上后面10条还是空白项目)。

设总记录数为N,每页打印M条,则页数等于:INT(N/M)+1
需要追究的记录条数为: M*(INT(N/M)+1)-N

,这样不知道是否可行,借此机会学习一下高人的做法。

板凳

前面已有类似的帖子。
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 楼

[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 楼

添加空数据,下面的表格还正常显示,只不过表格中没有数据,是不是这个意思?

能不能让最后一页的表格只显示到最后一条数据,也就是表格的最底边到最后一条数据为止,而不是显示到页面的最下方?

5 楼


是添加了空行,里面没有数据。

正常情况下,报表应该是“最后一页的表格只显示到最后一条数据,也就是表格的最底边到最后一条数据为止,而不是显示到页面的最下方”

附件中没有数据库,所以报表打不开。不清楚楼主的报表出了什么问题,报表显示的实际情况是什么样。

6 楼

将形状控件的底格线放到细节区中啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册