OK Spencer, just squeezed out some time for you....
I am using @text() with HTML code because that is what the report is written in. The code for a new line in HTML is "
<br>". So I am inserting some number (vMoreLines) of new lines at the end of each group. The idea is find the number of lines needed to fill a page and divide them evenly between the groups on the page
1. Add a Value Box to your Group Footer for the first Group that breaks (Tables?), LE name is "MoreLines"
2. Add the following programming to your report:
var vMoreLines as Int
vMoreLines = @ToNumber(@PromptForUserInput("How many extra spacer lines?",""))
MoreLInes = @text(vMoreLines,"<br>")
The Prompt is only there for you to see the results. And can maybe actually use this until you have a final working solutions. Normally vMoreLines will be calculated based on my earlier suggestion about counting records and doing a calculation. I may be able to get to that section later, but not right now.
Again, my thoughts on calculations:
1. Assume page lines = 66
2. Count lines used:
Assume Table1 = 12 lines, total lines = 12
Assume Table2 = 10 lines, total lines = 22
Assume Table3 = 18 lines, total lines = 40
Assume Table4 = 11 lines, total lines = 51
Assume Table5 = 18 lines, total lines = 69
3. Stop counting lines since over 66.
4 So we want a page break after Table 4
Total lines to fill = Page Lines - Used lines
Total lines to fill = 66 - 51 = 15
5. Divide lines equally between groups:
Total lines to fill per group = Total lines to fill / (Groups on this page -1):
Total lines to fill per group = 15 / (4-1) = 3 per group
6. vMoreLines = Total lines to fill per group = Total lines to fill
vMoreLines = 3
-----------------------------------
So now we need to get the programming done to do the calculations in steps 2-5 above.
And we need to do the same calulations for next page starting the count for lines used at Table 5
Assume Table5 = 18 lines, total lines = 18
Assume Table6 = 10 lines, total lines = 28
Assume Table7 = 18 lines, total lines = 46
etc....
Could probably do all calcs in one step above and come up with multiple vMoreLines, one for each page, like vMoreLinesPage1, vMoreLinesPage2, vMoreLinesPage3,
etc. and control which ones to use based on group breaking.
We also need to control which groups this is printed after. Note the spread was between 3 groups although we had 4 on the page. I wanted to fill the page and have the 4th group on the bottom, that is why I divided by (groups-1). Did not want to print the extra lines after group 4.
Again, all of this is a theoritical approach right now, so lots of fine tuning to follow. I expect we would use a similar approach to printing this field as used to stop printing of value in first column.