ACC: How to Shade Every Other Detail Line on Reports

Article translations Article translations
Article ID: 114086 - View products that this article applies to.
This article was previously published under Q114086
This article has been archived. It is offered "as is" and will no longer be updated.
Moderate: Requires basic macro, coding, and interoperability skills.
Expand all | Collapse all


This article shows you how to shade every other detail line on a Microsoft Access report.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access versions 1.x and 2.0. For more information about Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x or the "Building Applications" manual in Microsoft Access version 2.0.

NOTE: This article explains a technique demonstrated in the sample files, RptSampl.exe (for Microsoft Access for Windows 95 version 7.0) and RptSmp97.exe (for Microsoft Access 97). For information about how to obtain these sample files, please see the following articles in the Microsoft Knowledge Base:
145777 ACC95: Microsoft Access Sample Reports Available in Download Center
175072 ACC97: Microsoft Access 97 Sample Reports Available in Download Center


The following example uses an event procedure to alternate the background color between white and yellow. On black and white printers, yellow typically appears as light gray.
  1. Open the sample database Northwind.mdb (or NWIND.MDB in versions 1.x and 2.0), and then open the Alphabetical List Of Products report in Design view.
  2. Add a new text box control to the report's detail section and set the following properties:
    Name: LineNum
    ControlSource: =-1
    RunningSum: Over All
    Visible: No
    Note the equal sign in the ControlSource property setting.
  3. Add the following code to the Print event of the detail section. To do so, follow these steps:
    1. With the properties box open, click the detail section header.
    2. In the properties box, click the OnPrint property and click the Build button. Click Code Builder, and then click OK.
    3. Enter the following code between the Sub and End Sub lines in the module:
               Const WHITE = 16777215
               Const YELLOW = 65535
               If (Me![LineNum] Mod 2) = 0 Then
                  Me![ProductName].BackColor = YELLOW
                  Me![CategoryName].BackColor = YELLOW
                  Me![QuantityPerUnit].BackColor = YELLOW
                  Me![UnitsInStock].BackColor = YELLOW
                  Me![ProductName].BackColor = WHITE
                  Me![CategoryName].BackColor = WHITE
                  Me![QuantityPerUnit].BackColor = WHITE
                  Me![UnitsInStock].BackColor = WHITE
               End If
      NOTE: In Microsoft Access 1.x and 2.0, type spaces in the Product Name, Product ID, Category Name, Quantity Per Unit, and Units In Stock field names.
    4. On the Run menu, click Compile Loaded Modules to compile the event procedure code.
    5. Close the report module.
  4. Open the report in Design view, open the properties sheet for each control in the detail section, and verify that the BackStyle property is set to Normal.
  5. Preview or print the report by clicking Print Preview or Print on the File menu. Note that every other detail line on the report is shaded to the extent that the line is covered with a text box.


Article ID: 114086 - Last Review: January 9, 2015 - Revision: 2.3
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
kbnosurvey kbarchive kbhowto kbprogramming kbusage KB114086

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from