这几天搞分组报表打印 ..累死宝宝我了.
分组打印很有用, 比如要给全村发钱, 要给凭据. 没必要一人打一张, 一户打一张就好,户口人数有多有少, 反正是一户人打一页.
1.首先窗口: 数据用一维表就行了.可用主子窗口显示,因为人数不定. 用子窗体,每人占一行.
2.报表的设置.
情况1: 纸张和表格固定(比如用24*9.3三等分,每页纸就打4人) 1.添加分组, 选定分组依据,(一般是按编号分组,相同流水编号打成一页). 排序依据升序 ,按整个值(分组),要有页眉节,页脚节., 再选将整个组放在同一页上,(选这个是必须的,这样才分组,有别于不将整个组打一页)
然后,最容易漏的一步,就是强制分页.(页眉的节前,或页脚的节后)都行. 这个主要是有些户口人多,比如6人, 他理应是归在一页的,但一页4人打不下,所以下一页再打2人,. 如果没有强制分页, 这2人会和其它组混在一起. 所以选强制分页.这多出来的2人,系统也将打成一页.
打字真累,我已经有点明白了.怕将来忘了,这里记个流水帐.
上面说的都是分页的格式.
---------------------------------------------------------
--- 单页的值:
Private Sub 页面页眉_Format(Cancel As Integer, FormatCount As Integer)
Me.页合计 = 0
End Sub
Private Sub 主体_Print(Cancel As Integer, PrintCount As Integer)
Me.页合计 = Nz(Me.页合计, 0) + Nz(Me.金额, 0)
' Text23 = Text25
End Sub
应该是很简单,在报表--主体--打印(事件) ,设置代码, 页眉设初始值0, 主体设成累加.
------------------------------------------------------------
二. 分组页累计: 这玩意儿也是搞死我了.....后来有人调用窗体上的子窗体合计,搞定.(这种方法能适用于单张打印, 批量打印未测试)
情况2: 连续纸空白纸,卷筒纸,小票纸, 这些纸张可以连续打, 如果不需要准确的在接缝处分开, 完全可以当超市小票那种连打,1行到无限多行, 最后来一个总计.
-----------------还是有一些地方不太清楚.实践中再补充.