Susan Zeller
szeller at cce.umn.edu
Thu Feb 20 10:24:00 CST 2003
Billy, Here's notes I wrote up for this. Got this info from someone on
this list, pretty sure it was Arthur. Written very elemetary b/c I
wrote them for other junior developers in my office, but you get the
point.
--Susan
1. Put an invisible text box in the page footer. Set the control source
to =Pages.
2. Put a text box on your report in the page footer where you want the
page numbers to go. Bring up the properties for the text box and in the
area for NAME type in ctlGrpPages
3. From the VIEW menu, choose CODE.
4. Copy and paste the following code into the window that appears:
Dim GrpArrayPage(), GrpArrayPages()
Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant
Dim GrpPage As Integer, GrpPages As Integer
Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As
Integer)
Dim i As Integer
If Me.Pages = 0 Then
ReDim Preserve GrpArrayPage(Me.Page + 1)
ReDim Preserve GrpArrayPages(Me.Page + 1)
GrpNameCurrent = Me!Put_In_The_Name_of_the_field_you_are_grouping_on
If GrpNameCurrent = GrpNamePrevious Then
GrpArrayPage(Me.Page) = GrpArrayPage(Me.Page - 1) + 1
GrpPages = GrpArrayPage(Me.Page)
For i = Me.Page - ((GrpPages) - 1) To Me.Page
GrpArrayPages(i) = GrpPages
Next i
Else
GrpPage = 1
GrpArrayPage(Me.Page) = GrpPage
GrpArrayPages(Me.Page) = GrpPage
End If
Else
Me!ctlGrpPages = "Page " & GrpArrayPage(Me.Page) & " of " &
GrpArrayPages(Me.Page)
End If
GrpNamePrevious = GrpNameCurrent
End Sub
5. You'll notice that a line will appear between the third and fourth
lines of the code. Tha'ts fine.
6. In the space where it says
Put_In_The_Name_of_the_field_you_are_grouping_on, type in the name of
the field that you are grouping on. For example, if you are grouping by
acad_prog, that line should read:
GrpNameCurrent = Me!Acad_Prog
7. Choose FILE/SAVE and then FILE/Close and return to Microsoft Access
-----Original Message-----
From: Billy Pang [mailto:tuxedo_man at hotmail.com]
Sent: Wednesday, February 19, 2003 7:34 PM
To: AccessD at databaseadvisors.com
Subject: [AccessD] How to Reset Total Pages Number on Report
Hello:
I have a report that displays invoice details by client.
For each invoice there may be multiple pages.
How do I make it so that it diplays X of Y pages for each client?
For example, if there are a total of 3 pages in my report where the
first
page belongs to Client A and the next two pages belong to Client B, then
I
want the following page numbers on the bottom of Access report:
Page 1 of 1
Page 1 of 2
Page 2 of 2
I have gotten as far as resetting the page property back to 1 using the
OnFormat event on my first grouping but I cannot seem to do anything
with
the [PAGES] property (it is read-only).
Thanks in advance,
Billy
_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com