ACC: Report Vertical Lines Don't Grow with Section

ID: Q151543


The information in this article applies to:


SYMPTOMS

Moderate: Requires basic macro, coding, and interoperability skills.

Vertical Line controls do not increase in height when you place them in a report section whose CanGrow property is set to Yes.

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:

Q145777 ACC95: Microsoft Access Sample Reports Available on MSL

Q175072 ACC97: Microsoft Access 97 Sample Reports Available on MSL


RESOLUTION

You can use the Line method to prevent unbroken lines even if the report section grows. The following example uses the sample database Northwind.mdb to demonstrate how to use the Line method.

  1. Open the sample database Northwind.mdb.


  2. Use the AutoReport: Columnar Wizard to create a new report based on the Employees table.


  3. Set the report's OnOpen property to the following event procedure:
    
          Private Sub Report_Open(Cancel as Integer)
             DoCmd.Maximize
          End Sub 


  4. Set the report's OnClose property to the following event procedure:

    
          Private Sub Report_Close()
             DoCmd.Restore
          End Sub 


  5. Set the report's OnPage property to the following event procedure:
    
          Private Sub Report_Page()
    
             If Me.Page <> 1 then
    
                  Me.ScaleMode = 1
                  Me.ForeColor = 0
                  ' Repeat the following line of code for each vertical line.
                  ' 1 * 1440 represents 1 inch.
                  ' Draws line at Left Margin.
                  Me.Line (0 * 1440, 0) - (0 * 1440, 14400)
                  ' Draws line at 1 inch.
                  Me.Line (1 * 1440, 0) - (1 * 1440, 14400)
                  ' Draws line at 2 in.
                  Me.Line (1.9 * 1440, 0) - (1.9 * 1440, 14400)
                  ' Draws line at 3 in.
                  Me.Line (5.5 * 1440, 0) - (5.5 * 1440, 14400)
    
             End If
    
             ' The 14400 is an arbitrary number to increase the line to the max
             ' of a section.
          End Sub 




If Me.Page <> 1 Then...(Line code)...End If.
  1. Set the detail section's OnPrint property to the following event procedure:
    
          Private Sub Detail_Print(Cancel as Integer, PrintCount as Integer)
             Me.ScaleMode = 1
             Me.ForeColor = 0
             ' Repeat the following line of code for each vertical line
             ' 1 * 1440 represents 1 inch.
             Me.Line (0 * 1440, 0) - (0 * 1440, 14400)
             Me.Line (1 * 1440, 0) - (1 * 1440, 14400)
             Me.Line (1.9 * 1440, 0) - (1.9 * 1440, 14400)
             Me.Line (5.5 * 1440, 0) - (5.5 * 1440, 14400)
    
             ' The 14400 is an arbitrary number to increase the line
             ' to the max of a section.
          End Sub 


Print Preview the report. Note that the lines go from the top to the bottom of the page.


REFERENCES

For more information about the Circle method, please see the following article in the Microsoft Knowledge Base:

Q116501 ACC: How to use the Circle Method on a Report

For more information about the Line method, search on the phrase "Line method" using the Microsoft Access 97 Help Index.


Keywords          : kbusage FmrProb 
Version           : 7.0 97
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: April 19, 1999