Normally, MS-Access Reports can run into several pages and it is a custom to give page numbers on each page along with the total number of pages as an indicator. To prepare this a Text Box is added at 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
=”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 these kind of actions 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 these 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 group of statements or actions 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 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 information in the Page Footer of the Report with a difference. The Report can be a single page one or can have several pages. When the Report have more than one page then on the first page footer the following label should appear: Continued on Page 2.
On 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 at 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.
- To try our new page labels; open one of your Reports with 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;
- Join Split Array Function-2
- Join Split Array Function
- Memo Field and Data Filtering
- Lively Controls on Form
- Create your own Color Pallette