Office中国论坛/Access中国论坛

标题: [求助]报表分组打印中,各组的页码如何显示? [打印本页]

作者: 老鬼    时间: 2006-11-22 17:07
标题: [求助]报表分组打印中,各组的页码如何显示?
我设了一张报表,以主表中的ID进行分组分页显示。但因为每组的数据量不一样,有的组只有一页,有的组则有两三页。现在我想让组页脚按每组的页数进行类似“共*页,每*页”,请问如何处理?

THANK!
作者: 老鬼    时间: 2006-11-22 21:16
没人回答我再顶!
作者: wwwwa    时间: 2006-11-22 23:16
示例:

Dim GrpArrayPage(), GrpArrayPages()
Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant
Dim GrpPage As Integer, GrpPages As Integer

Private Sub 页面页脚_Format(Cancel As Integer, FormatCount As Integer)
1001 Dim I As Integer
1002 If Me.Pages = 0 Then   '准备资料时计算各群组页数
1003    ReDim Preserve GrpArrayPage(Me.Page + 1)
1004    ReDim Preserve GrpArrayPages(Me.Page + 1)
1005    GrpNameCurrent = Me![工程名称]    '取得现用群组字段之值
1006    If GrpNameCurrent = GrpNamePrevious Then '如果现用群组大于1页
1007        GrpArrayPage(Me.Page) = GrpArrayPage(Me.Page - 1) + 1
1008        GrpPages = GrpArrayPage(Me.Page)
1009        For I = Me.Page - ((GrpPages) - 1) To Me.Page
1010            GrpArrayPages(I) = GrpPages
1011        Next I
1012    Else                             '如果现用群组只有1页
1013        GrpPage = 1
1014        GrpArrayPage(Me.Page) = GrpPage
1015        GrpArrayPages(Me.Page) = GrpPage
1016    End If
1017 Else              '打印
1018     Me![组页码].Caption = "  第" & _
                GrpArrayPage(Me.Page) & "页,共" & GrpArrayPages(Me.Page) & "页"
1019 End If
1020 GrpNamePrevious = GrpNameCurrent
End Sub

Private Sub Report_Page()
GrpPage = 0
GrpPages = 0
GrpNameCurrent = ""
GrpNamePrevious = ""
End Sub


作者: 老鬼    时间: 2006-11-23 01:16
没想到这么麻烦,俺试试
作者: tz-chf    时间: 2006-11-23 05:04
northwind
作者: 老鬼    时间: 2006-11-23 06:15
我在NORTHWIND中有看到设置分组显示"第*页",但是没看到有"共*页",不知楼上的是在哪张报表中看到的,请指点一下.谢谢.
作者: tz-chf    时间: 2006-11-23 06:57
各国雇员销售额
作者: 老鬼    时间: 2006-11-23 20:36
那张表没看到分组的“共*页”,只有分组的“第*页”。而且这种方法一旦设置了“节重复”为是,就不能用了~~~~

还有没有别的方法?主要想知道分组的“共*页”。不过三楼的方法已经算不错了。
作者: 老鬼    时间: 2006-11-23 21:41
但是三楼的代码测试了不行,不知道有没有人测试可以的。三楼的朋友可不可以给个文件?
作者: wwwwa    时间: 2006-11-23 23:09
不会吧,我在ACCESS2000中

测试过,没有问题。
作者: 老鬼    时间: 2006-11-25 05:12
给个测试文件可以吗?THANKS!
作者: 漂流2003    时间: 2006-11-25 06:10
="age " & [Page] & " Of " & [Pages]

试试看吧


作者: ququ    时间: 2007-5-30 00:52
文本框内的控制来源="第 " & [Page] & " 页,共 " & [Pages] & " 页"
作者: zxzx2733    时间: 2007-5-30 02:44
用页合计的相似方法只能弄出分组报表的组页码,组合计(共)页码,要用类模块太麻烦,可考虑从数据源上做文章(组记录数 MOD 页行数,求出最大值就是“共:组页码”,组页码也可求出),有ID字段好做,把ID变换为组号



另:此方法也可设计报表固定行和每页固定打印几个组报表

[此贴子已经被作者于2007-5-29 19:17:29编辑过]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3