[AccessD] Variable line height

Rocky Smolin rockysmolin at bchacc.com
Thu Apr 23 00:44:56 CDT 2009


A.D.:

You know, after a couple responses I was going to write "Let's wait for A.D.
To respond.  He'll know how to do this."  But I didn't want to be
presumptuous.  And here you are.  With the solution. As always.

I actually used this approach once to make some very elaborate charts and
graphs in a report for a business I started with a guy about 10 years ago -
drawing lines to make bar graphs.  

I will forward to my client.

Thank you as always for your expertise and generosity.

Regards,

Rocky


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.Tejpal
Sent: Wednesday, April 22, 2009 10:36 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Variable line height

Rocky,

    You can draw a vertical line spanning entire detail section by using the
Line() method. Sample code in detail section's print event, as given below,
will draw the desired vertical line between text boxes named Txt_1 & Txt_2.

    As long as the Y coordinate is set greater than dynamic height of detail
section, the line will automatically fit into the available space,
eliminating the scope for any possible breaks.

    For further refinements in drawing vertical and horizontal lines on a
report in various styles, my sample db named  ReportBorders  might be of
interest to you. It is available at Rogers Access Library. Link - 

http://www.rogersaccesslibrary.com/forum/forum_topics.asp?FID=45
 
    You could adapt the underlying approach suitably, for your specific
needs.


Best wishes,
A.D. Tejpal
------------

' Code in report's module
' (Txt_1 & Txt_2 are the names of text boxes ' between which a vertical line
is to be drawn) '==================================
Private Sub Detail_Print(Cancel As Integer, _
                                PrintCount As Integer)
    Dim X As Long, Y As Long
    Dim GapLeft As Long, GapWidth As Long
    
    Me.ScaleMode = 1    ' Scale in Twips
    Me.DrawWidth = 3    ' Thickness in pixels
    
    ' Set the X value midway between the two
    ' text boxes (Txt_1 & Txt_2)
    GapLeft = Me.Txt_1.Left + Me.Txt_1.Width
    GapWidth = Me.Txt_2.Left - GapLeft
    X = GapLeft + GapWidth \ 2
    
    ' Set Y value larger than the dynamic height of
    ' Detail section. (Even if Y is set much larger
    ' than actual dynamic height of Detail section.
    ' This is to prevent any possible breaks in overall
    ' vertical line. Only the portion that can actually
    ' fit in Detail section, will get drawn)
    Y = Me.Height + 20
    
    ' Note:
    '   Me.Height gives the dynamic height of current
    '   section (in this case: detail section) at print time.
    '   Me.Detail.Height merely gives the static height
    '   of Detail section as per design setting.

    ' Draw vertical line between Txt_1 & Txt_2, so as
    ' to fully cover the dynamic height of Detail section.
    Me.Line (X, 0)-(X, Y)
End Sub
'===================================

  ----- Original Message -----
  From: Rocky Smolin
  To: 'Access Developers discussion and problem solving' 
  Sent: Thursday, April 23, 2009 05:41
  Subject: [AccessD] Variable line height


  Dear List:

  Client has a report with two Can Grow text boxes side by side.  He wants a
  vertical line down the middle of the report separating the two boxes. The
  two text boxes will vary in height, of course, depending on the data. How
  can the height of the line be set to run vertically down the full length
of
  the detail section of the report where these two boxes are.  You can't
  change the height of the line in the Print event, and the height of the
box
  is apparently not yet set (per a MsgBox I inserted) in the Format event? 

  MTIA 

  Rocky
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list