以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]在小计合计页设置打印行数  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=115922)

--  作者:chnfo
--  发布时间:2018/3/16 16:32:00
--  [求助]在小计合计页设置打印行数
希望输出网点的销售额统计情况,要按各网点小计再合计。

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

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

--  作者:有点甜
--  发布时间:2018/3/16 16:57:00
--  

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

 

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

 

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


--  作者:chnfo
--  发布时间:2018/3/16 17:13:00
--  
不是这样的,有可能是前面设置的打印列数,只针对明细,不包括各行的小计、各计在内。

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

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

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

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

--  作者:有点甜
--  发布时间:2018/3/16 17:25:00
--  

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

 

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


--  作者:chnfo
--  发布时间:2018/3/19 9:32:00
--  
如果要固定28行就换页,需要用vba插入换页符的。

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

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

--  作者:有点甜
--  发布时间:2018/3/19 9:49:00
--  

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

 

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


--  作者:chnfo
--  发布时间:2018/3/19 21:15:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:汇总报表.zip

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

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


--  作者:有点蓝
--  发布时间:2018/3/19 21:49:00
--  
确实如3楼所说的一样,-28的设置是不包含小计合计这些的,由于小计行个数未定,所以会导致实际的打印行数是未定的。

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

--  作者:chnfo
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2018/3/20 9:58:00
--  

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

 

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