Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

vertical spacing

Status
Not open for further replies.

glenninflorida

Programmer
Mar 27, 2006
9
US
In 8.5, is there a way to create a "fill the remainder of the page" section?

For instance, last record for group is 1/3 way down the page, start a group footer that would print spaced lines (ruler paper) for the remainder of the page, then new group starts on the next page.

There appears to be no conditional formatting of group size (to set group footer vertical size).

Maybe an additional detail section that repeats n times based on the last printed line number of the current page?

Is this possible?

Thanks,
Glenn Walters

Go Gators!
 
Yes, you could do this, but why not just insert a new page after on the group footer?

-LB
 
Crystal doesn't have a last printed line number, so you'd need to keep track of this yourself.

Your requirement is doable, it's just a question of whther it's worth it for you.

One means might be a single formula:

Page Header Formula:
whileprintingrecords;
numbervar LnCount:=0

Now in EVERY section that might display use:

whileprintingrecords;
numbervar LnCount:=LnCount+1;
numbervar X;
if next({table.groupfield}) <> {table.groupfield}
for X := 1 to (55-LnCount) do(
repeatstring("_",50)& chr(13)
);

You'll need to tweak the numbers to suit your layout.

Looks like an interesting way to address this.

-k
 
Hi,

I'm not sure how a new page after will dynamically fill in the proper white space (size the group footer) after the details?

Thanks
 
Thanks synapsevampire,

It's worth it to me (business requirements).

I'll run with a variation of that and see how it goes.

-Glenn
"Go Gators!
 
Ooops, that should be:

whileprintingrecords;
numbervar LnCount:=LnCount+1;
numbervar X;
stringvar TheLines:=""
if next({table.groupfield}) <> {table.groupfield}
for X := 1 to (55-LnCount) do(
TheLines:=TheLines & repeatstring("_",50)& chr(13)
);
TheLines

-k
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top