<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Message</TITLE>
<META content="MSHTML 5.50.4916.2300" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><SPAN class=859102520-05052003><FONT face=Arial color=#0000ff
size=2>Rocky,</FONT></SPAN></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>My solution doesn't force a page break between each
subreport. It just keeps the subreports from being split between pages (in
which case it would force a break then).</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>Now, your second problem was "how do I break to the
next page if I am xx lines from the bottom?" This can be done in the
Format event by using the .NextRecord and .MoveLayout properties. For the
purposes of this discussion, let's assume that you placed the subreport in it's
own header (or footer) and the header was named MyHeader. The code would
look something like:</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>Private Sub MyHeader_Format(Cancel As Integer,
FormatCount As Integer)</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003> If Me.Top > 12000
Then</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003> 'Reformat
output in next section</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>
Me.NextRecord = False</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>
Me.MoveLayout = True</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>
Me!srptMySub.Visible = False</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>
Else</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>
Me!srptMySub.Visible = True</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003> End
If</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>End Sub</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>Pick whatever arbitrary number you want as a page break
threshold. The Top property is in Twips, so multiply Inches by 1440 to get
the number (e.g. 10.5 * 1440 = 15120).</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003></SPAN></FONT></FONT></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=859102520-05052003>The only gotcha to look out for is the CanShrink
property. If you have this set to True for the section, and you hide the
section's contents (i.e. the subreport), you will be caught in an infinite loop
because every subsequent formatting event will take place in the exact same
position!</SPAN></FONT></FONT></FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Rocky Smolin - Beach Access
Software [mailto:bchacc@san.rr.com]<BR><B>Sent:</B> Monday, May 05, 2003 2:26
PM<BR><B>To:</B> accessd@databaseadvisors.com<BR><B>Subject:</B> Re: [AccessD]
Sub-Reports and Paging<BR><BR></FONT></DIV>
<DIV><FONT face=Arial size=2>Brett:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks for your reply.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I don't want to force a page break between each
sub-report. Sometimes they're only one line. so they need to all
flow together unless it's close to the bottom of the page. In that case
the header text (4-6 lines) gets split over two pages (sometimes in the middle
of the line horizontally!) and sometimes it will do this to a detail
line. </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Any idea how to 1) prevent that and 2) to
force a page break when close to the bottom of the page but not page break
when in the sub report starts in the middle of the page?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks and regards,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Rocky</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=BBarabash@tappeconstruction.com
href="mailto:BBarabash@tappeconstruction.com">Brett Barabash</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=accessd@databaseadvisors.com
href="mailto:'accessd@databaseadvisors.com'">'accessd@databaseadvisors.com'</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, May 05, 2003 10:22
AM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [AccessD] Sub-Reports and
Paging</DIV>
<DIV><BR></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>Rocky,</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>Normally, I create a section for each subreport. This allows me
full control over the page breaks:</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff size=2>-
In the Sorting And Grouping box, type ="My Section" (call it whatever you
want, extra points for being descriptive), and set Group Header = Yes.
This will create a report header where you can place your
subreport.</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff size=2>-
In the Report Header property sheet, set Keep Together = Yes. Don't
forget to set your Can Grow and Can Shrink properties.</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff size=2>-
Voila! Access will not split a subreport in this section between 2
pages. Plus, if you want to force a page break at the start of a
subreport you can easily do that by setting the section's Force New Page
property.</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>P.S. Access allows up to 10 headers and 10 footers per report.
They can be referred to using the Me.Section property using the following
indices:</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>Me.Section(5) - Group header # 1</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>Me.Section(6) - Group footer #
1</FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>Me.Section(7) - Group header # 2</FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2>Me.Section(8) - Group footer #
2</FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=765360717-05052003><FONT face=Arial color=#0000ff
size=2><SPAN
class=765360717-05052003>...</SPAN></FONT></SPAN></DIV></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> Rocky Smolin
- Beach Access Software [mailto:bchacc@san.rr.com] <BR><B>Sent:</B>
Monday, May 05, 2003 9:49 AM<BR><B>To:</B>
accessd@databaseadvisors.com<BR><B>Subject:</B> Re: [AccessD] Sub-Reports
and Paging<BR><BR></FONT></DIV>
<DIV><FONT face=Arial size=2>Dear Rocky:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Perhaps you could put an invisible page
break between each sub-report. Then in the OnOpen event of the
report, Dcount the records in each of the eight sub-reports and estimate
the height of the sub-report from the sub-report's report header plus the
number of detail records. Then make the page break visible to
separate the sub reports.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Of course since one of the fields in the
detail record 'can grow' and does, it's going to be an estimate at
best. Also, this means potentially a lot of white space on a page.
Nah, that won't really work well. You need to know where you are on
the page during the printing of the sub-report and page when it gets close
to the bottom.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Maybe someone else has an idea.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>With my very best regards for you and your
family,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Rocky Smolin<BR>Beach Access
Software</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=bchacc@san.rr.com href="mailto:bchacc@san.rr.com">Rocky Smolin
- Beach Access Software</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=AccessD@databaseadvisors.com
href="mailto:AccessD@databaseadvisors.com">AccessD@databaseadvisors.com</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, May 02, 2003 5:18
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [AccessD] Sub-Reports and
Paging</DIV>
<DIV><BR></DIV>
<DIV><FONT face=Arial size=2>Dear List:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have a report that consists of eight sub
reports. Each sub-report can be of a different length. Each
sub-report has a report header with some descriptive text.
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The problem is that the main report page
breaks in odd places sometimes even cutting a line of the subreport in
half horizontally!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I can, of course, insert an
invisible page break between each sub-report and make it visible if
I'm close to the bottom of the page. But I don't know how to know,
during the printing of the sub-report, where I am on the main
report.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Anybody got any ideas?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>MTIA,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Rocky Smolin<BR>Beach Access
Software</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>AccessD
mailing
list<BR>AccessD@databaseadvisors.com<BR>http://databaseadvisors.com/mailman/listinfo/accessd<BR>Website:
http://www.databaseadvisors.com<BR></BLOCKQUOTE></BLOCKQUOTE><BR><BR>--------------------------------------------------------------------------------------------------------------------<BR>This
email and any files transmitted with it are confidential and<BR>intended
solely for the use of the individual or entity to whom<BR>they are
addressed.<BR>If you have received this email in error please notify
the<BR>originator of the message. This footer also confirms that
this<BR>email message has been scanned for the presence of computer
viruses.<BR><BR>Any views expressed in this message are those of the
individual<BR>sender, except where the sender specifies and with
authority,<BR>states them to be the views of Tappe Construction
Co.<BR><BR>Scanning of this message and addition of this footer is
performed<BR>by SurfControl E-mail Filter software in conjunction with
<BR>virus detection software.<BR>
<P>
<HR>
<P></P>_______________________________________________<BR>AccessD mailing
list<BR>AccessD@databaseadvisors.com<BR>http://databaseadvisors.com/mailman/listinfo/accessd<BR>Website:
http://www.databaseadvisors.com<BR></BLOCKQUOTE></BLOCKQUOTE><br><br>--------------------------------------------------------------------------------------------------------------------<br>This email and any files transmitted with it are confidential and<br>intended solely for the use of the individual or entity to whom<br>they are addressed.<br>If you have received this email in error please notify the<br>originator of the message. This footer also confirms that this<br>email message has been scanned for the presence of computer viruses.<br><br>Any views expressed in this message are those of the individual<br>sender, except where the sender specifies and with authority,<br>states them to be the views of Tappe Construction Co.<br><br>Scanning of this message and addition of this footer is performed<br>by SurfControl E-mail Filter software in conjunction with <br>virus detection software.<br></BODY></HTML>