Solved

Access 2003 - report footer on first page only

Posted on 2012-03-26
7
617 Views
Last Modified: 2012-03-26
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?
0
Comment
Question by:Pdeters
7 Comments
 
LVL 31

Expert Comment

by:Helen_Feddema
ID: 37766224
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
 
LVL 77

Expert Comment

by:peter57r
ID: 37766231
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
 
LVL 30

Expert Comment

by:hnasr
ID: 37766241
Try this:

If Page = 1 Then
      Me.PageFooterSection.Visible = True
Else
     Me.PageFooterSection.Visible = False
End If
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 37766380
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
 
LVL 30

Expert Comment

by:hnasr
ID: 37766637
Where to put code?
In format event of the object. Event is fired before formatting the section.
0
 
LVL 30

Expert Comment

by:hnasr
ID: 37766661
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
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 500 total points
ID: 37767904
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Leon
Software Metering within our group of companies has always been an afterthought until auditing of software and licensing became a pain point. Orchestrator and SCCM metering gave us the answer and it was an exciting process.
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now