Access 2003 - report footer on first page only

I am using this code to show the footer only on the first page of a report. It is not working. It show none. I am putting in the on format and onprint?

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
If Me.Page = 1 Then
 
  Me.PageFooterSection.Visible = True
    Else
     Me.PageFooterSection.Visible = False
   End If
end sub


any ideas?
PdetersAsked:
Who is Participating?
 
Jeffrey CoachmanConnect With a Mentor MIS LiasonCommented:
Besides turning off the individual controls in the Page footer, here is what also worked for me:

Set the Section Visible property to Yes in the property sheet
Then do this on the "Page" event
    Me.PageFooterSection.Visible = False

The "Page" event fires each time you *change* the page.
So since opening the report for the first time (and displaying Page 1) is not technically "Changing" the page, this event does not fire.
Hence it only fires *after* page 1.
So doing this may also give the OP what they are seeking...

JeffCoachman
0
 
Helen FeddemaCommented:
This works for a simple footer (just a text box), though of course you could use the same technique for several textboxes:

This is the control source of the textbox:  =IIf([Page]=1,"Page " & [Page] & " of " & [Pages],"")

Make sure that you have the Page Footer set for All Pages in the Report property sheet.
0
 
peter57rCommented:
Put the code in the page header or Detail event - by the tme you get to the page footer it's already too late.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
hnasrCommented:
Try this:

If Page = 1 Then
      Me.PageFooterSection.Visible = True
Else
     Me.PageFooterSection.Visible = False
End If
0
 
Jeffrey CoachmanMIS LiasonCommented:
Or you can just hide the "Controls" in the footer, with basically the same event:

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
If Me.Page = 1 Then
    Me.txt1.Visible = True
    Me.txt2.Visible = True
    Me.lbl45.visible=True
ElseIf Me.Page > 1 Then
    Me.txt1.Visible = False
    Me.txt2.Visible = False
    Me.lbl45.Visible=False
End If
End sub

Note:
If you have a lot of control in the page footer, you can give them all the same "Tag" (ex. "PgFtr") property and loop through them with something like this:

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
Dim ctl as control
If me.Page=1 then
    For each ctl in me.controls '(or narrow it to the page footer)
        If ctl.Tag="PgFtr" then
            ctl.visible=True
        else
            ctl.visible=False
        end if
    next ctl
end if


JeffCoachman
0
 
hnasrCommented:
Where to put code?
In format event of the object. Event is fired before formatting the section.
0
 
hnasrCommented:
If you click on Format event in the event tab of PageFooterSection properties sheet , watch the status bar displaying, "Macro or function that runs before section is formatted"
0
All Courses

From novice to tech pro — start learning today.