Learn Microsoft Access Advanced Programming Techniques, Tips and Tricks.

Thursday, March 24, 2011

Easy-Read Reports

Introduction.

When Computer Reports; like Accounting Ledger Statements or Purchase Invoices are printed with closely positioned lines. It is easy to read if the alternate line background is shaded with a light color.  Normally, pre-printed stationery is used for this purpose. Line-Printers will print 6 lines of data within a one-inch space vertically.  To print headlines in bold the double-strike method is used (the hammer will strike a character twice) and this is the only enhanced printing style available, as far as the Line Printers are concerned.

The Line-Printer-based Reports were designed on graph-paper-like sheets and write codes to position Headings, data lines, and summaries to position them properly on Report stationery.

A4 (8.5 x 11 inch) size paper will have 66 lines of print positions vertically. Out of this, one inch top and half an inch bottom margin space are left out while printing the alternate data print positions with green color like the sample image given below:

A4 size paper has 80 print positions across when 10 characters per inch (pitch) font size is used. This can be increased to 96 characters if 12 characters per inch character size are used.

This was general information about computer stationery. Reports are designed for Line Printers keeping these specifications in mind.  If necessary, we can design reports with detailed section height and the text box control's height in one-sixth of an inch in plain paper stationery.

Light Shading of Alternate Report Data Lines

We will try a small trick to print alternate print lines with the shaded background so that users can read the contents very easily. We don't need pre-printed stationery for this and we will prepare shaded background while printing the report itself.

We can design a Quick Report and write a few lines of VBA Code on the class module of the Report. If you already have a Report with closely printed detail lines you can skip to step 3 given below.

  1. Import Products Table from MS-Access sample database Northwind.mdb

  2. Use the Report Wizard to design a Tabular Report with the Products Table like the sample image given below:

  3. Open the Report in Design View.

  4. Select all the controls on the Detail Section of the Report and drag them to the right to get enough space to draw a Text Box on the left side to display Serial Numbers on the Report Lines.  Drag the heading lines and position them to the right.

  5. Draw a Text Box on the left side and write the expression =1 in the Control Source Property.  Change the Name Property Value to SRL.

  6. Change the Running Sum Property Value to Over All.

  7. Create a Label control at the Page Header above the Text Box and change the Caption to SRL (for Serial Number).

  8. Select all the controls in the Detail Section together and display the Property Sheet (F4 or Alt+Enter).

  9. Change the Top Property Value to 0.  All the controls will be shifted and positioned at the top edge of the Detail Section.

  10. Select the Rectangle Tool from the Toolbox and draw a rectangle around all the text boxes in the Detail Section (see the design view image above).

  11. Display the Property Sheet of Rectangle (F4) and change the Name Property Value to Box1.

  12. Select the Send-to-Back option from Arrange Menu to position the rectangle behind the text box controls.

  13. Reduce the Detail Section height so that there is no empty space below the TextBox controls.

  14. Display the VBA Code Module of the Report (ALT+F11).

  15. Copy and paste the following lines of VBA Code into the Code Module and save the Report:

    The Report Module VBA Code.

    Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    Dim xSrl
    xSrl = [SRL]
    If xSrl / 2 = Int(xSrl / 2) Then
       [Box1].BackColor = &HCCC8C2
    Else
       [Box1].BackColor = &HFFFFFF
    End If
    End Sub
    
  16. Open the report in Print Preview.  You will find the result as shown in the report image at the top of this page.

No comments:

Post a Comment

Comments subject to moderation before publishing.

Powered by Blogger.