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


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

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

帅哥哟,离线,有人找我吗?
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
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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行了。

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

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部