Gustav Brock
Gustav at cactus.dk
Wed Nov 7 03:31:19 CST 2007
Hi Susan
Have you tried moving this line to the OnPrint event:
Me.txtHeaderLast = col(Me.Page)
/gustav
>>> ssharkins at gmail.com 07-11-2007 02:29 >>>
The following code is a simple solution, I thought, to displaying the last
item on a page in the page header section. I've dropped in a few Debug
statements to verify that the collection is storing and retrieving the right
items, but the control always displays the first item on the page. I'm
clueless -- I have no idea what's happening here.
Basically, during the first pass (I'm using the report Pages property to
force a second formatting run), I'm storing the last item on each page --
the value of txtFooterLast -- in a Collection object. That part works fine.
Then, the report retrieves those values using the page number as the index
value. The Debug statements verify that the right values are in the
collection, however, txtHeaderLast doesn't display the results of
col(Me.Page) -- it displays the first value on the page, not the value
retrieved from the Collection. I just don't have any explanation.
Option Compare Database
Option Explicit
Dim col As New Collection
Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As
Integer)
Debug.Print Me.Page
Debug.Print col(Me.Page)
Me.txtHeaderLast = col(Me.Page)
Debug.Print Me.txtHeaderLast.Value
End Sub
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As
Integer)
Me.txtFooterFirst = Me.txtHeaderFirst
Me.txtHeaderLast = Me.txtFooterLast
If Me.Pages = 0 Then
col.Add Me.txtFooterLast, CStr(Me.Page)
End If
End Sub
Private Sub Report_Close()
Set col = Nothing
End Sub