Foxtable(狐表)用户栏目专家坐堂 → [求助]在小计合计页设置打印行数


  共有2923人关注过本帖树形打印复制链接

主题:[求助]在小计合计页设置打印行数

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]在小计合计页设置打印行数  发帖心情 Post By:2018/3/16 16:32:00 [只看该作者]

希望输出网点的销售额统计情况,要按各网点小计再合计。

但如果直接设置每页的输出行数为28行,会出现一些意外情况。
例如有23行数据,4个网点小计,再加一行合计,正好28行,一页就可以打得下。
但是按下面的模板设置,会打印两页,而且第二页是空表。

如何避免这种情况?
图片点击可在新窗口打开查看此主题相关图片如下:小计合计的应用.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/16 16:57:00 [只看该作者]

1、如果把28行改成18行或者20行,还有没问题?

 

2、模板应该是没问题的,是否你要打印的内容超出了纸张的大小导致的?

 

3、做个例子发上来看看。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/3/16 17:13:00 [只看该作者]

不是这样的,有可能是前面设置的打印列数,只针对明细,不包括各行的小计、各计在内。

因为我实际试了一次,比如说设定每页打印28行。

现在的明细数据总共有4个网点,每个网点有5行,总共有20行。

正常情况下,会补8个空行进去。
但是现在增加了4个网点的小计行,再加了一个所有网点的总计行,就导致总共有28+4+1=33行了。

而实际上,第一页就把所有的数据全部打印完了,第二页打印的就是全部的空行了。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/16 17:25:00 [只看该作者]

你定义的-28,就是针对细节区的,和你其余的行无关。

 

如果要固定28行就换页,需要用vba插入换页符的。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/3/19 9:32:00 [只看该作者]

如果要固定28行就换页,需要用vba插入换页符的。

----关键的问题是本身不需要第二页,插入换页符,它也要输出第二页(而实际第二页全是空数据)

如何很方便地利用汇总统计,又能方便地输出设定的行数呢?
[此贴子已经被作者于2018/3/19 9:34:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/19 9:49:00 [只看该作者]

如果第一页能正常容纳所有数据,第二页肯定不会出现空白,如果出现空白肯定是你要打印的内容刚好超过第一页一点点导致的。

 

不然,就是你模板设置有问题。上传实例说明。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/3/19 21:15:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:汇总报表.zip

报表设置如附件。
我在想另一种方法,是不是可以用代码直接生成与报表一样的结果,然后直接输出页面的所有数据,那就不用考虑太多因素了。

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/19 21:49:00 [只看该作者]

确实如3楼所说的一样,-28的设置是不包含小计合计这些的,由于小计行个数未定,所以会导致实际的打印行数是未定的。

这种情况还是使用专业报表比较好控制一点

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/3/20 9:38:00 [只看该作者]

所以,我在想,有没有什么代码是可以直接把表A汇总模式生成新的表B,把小计合计当做数据行存起来,这样,就避免了一系列的问题。直接在报表模板中设置从表B中直接取数就OK了

For i As Integer = 0 To Tables("D").Rows.Count(True) - 1
    Dim dr As DataRow = DataTables("E").AddNew
    For Each c As Col In Tables("D").cols
        dr(c.Name) = Tables("D").Rows(i,True)(c.Name)
    Next
Next

这样貌似可以。
[此贴子已经被作者于2018/3/20 10:36:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/20 9:58:00 [只看该作者]

做一个临时表,清空。循环每一行,赋值过去。

 

http://www.foxtable.com/webhelp/scr/1911.htm

 


 回到顶部