Put this formula in a suppressed field in the detail section:
WhilePrintingRecords;
Global BooleanVar finished;
finished := OnLastRecord
And make this the Suppress formula in the page header:
Global BooleanVar finished
- Before
finished
is initialized the page header will show.
- Once you print a detail record it'll be set to
false
.
- When you finally reach the last detail section,
finished
is set to true
.
- If you happen to reach another page header,
finished
is still true
, and Crystal will suppress the header.
It's an interesting problem. I've encountered this behavior before but never tried to solve it. I think you need to use a variable because in a page header, the usual options like Next()
and OnLastRecord
can't distinguish between having one more record to print and having no more records to print. I think running totals would have the same problem – the values would be the same on a page with one more record to print, and on a page with no records to print.