Introduction
Normally, MS-Access Reports can run into several pages and normally we give page numbers on each page along with the total number of pages as an indicator. To do this, a TextBox is added to the Page Footer of the Report and an expression like the following is entered into the Control Source property:
=”Page “ & [page] & “ of “ & [pages]
Result: Page 1 of 15
OR
=”Page: “ & [page] & “ / “ & [pages]
Result: Page: 1 / 15
Report Date is also added in the page footer area like =”Date: “ & format(date(),”dd/mm/yyyy”)
We keep writing these expressions repeatedly every time when a new report is designed. If you are a VBA enthusiast and using VBA routines in your applications, then this kind of action can be automated with the use of User-Defined Functions and call the function from the Text Box's Control Source property to quickly insert this information on the Report. I have written two functions for this purpose and if you are interested to take a look at them then click here.
When you are working with VBA routines in Standard Modules or Class Modules you can see that certain groups of statements or actions are repeated at different places, which are useful across different Applications. They can be customized and written in the form of public functions and added to your User-Defined Function Library so that they can be called with a one-line statement. The lengthy VBA Routines can be compressed this way. There is a Blog Post related to this topic: MS-Access and Reference Library.
Coming back to the Page indicator topic we will try to display the page continuity information in the Page Footer of the Report with a difference. The Report can be a single page or can have several pages. When the Report has more than one page, then on the first-page footer the following label should appear: Continued on Page 2.
On the next page (i.e., on page 2) Continued on Page 3 and so on till the last but one page. This label should not appear on the last page. If the report has only one page then this label should not appear at all.
With the first example given at the top of this Article, the Report with only one page will print as Page 1 of 1.
Try out the Page Footer Setting
To try our new page labels; open one of your Reports with a few pages.
Create a Text Box, wide enough to display the label; like Continued on Page 99; at the Page Footer of the Report.
Write the following expression in the Control Source Property of the Text Box.
=IIf([Pages]>1 And [Page]<[Pages],"Continued on Page " & [Page]+1,"")
Save the Report and open it in Print Preview.
Check the last page of the Report. This label should not appear there.
Try this out on a single-page Report.
NB: [page], [pages] are System Variables and they should be used in the expression without change. &hypen;
No comments:
Post a Comment
Comments subject to moderation before publishing.