The NOPAGEEJECT clause tells the report writer to keep the print job open because you're about to send it another report. It sounds like this is what you need because you are sending completely different report layouts to the printer. However .. the limitation is that ALL reports have to be the same orientation as the first one; either portrait or landscape.
If you have reports of different orientations then you have to resort to a much more complex solution which involves a custom reportlistener. Lisa Slater Nicholls wrote about it in an issue of FoxTalk a while back.
Others have mentioned the use of multiple detail bands which might also satisfy your needs. Each detail band can have an associated header and footer band with it. But the page header and page detail bands would be the same for all reports and that might not work for your situation.
Cathy Pountney
>I need to produce a report which will print totally different layouts based upon a data element in the cursor which is driving the report. I need to do this becase this is an application where the user expects to just go over to the printer and pull off a set of documents in order and use them without any further sorting or merging. We will need to produce something like merged sets of different documents in one run.
>
>My first idea is to create a loop which will act like this:
>
>scan
> do case
> case valueofreportcriteria = 1
> report form type1 next 1 to print noeject
> case valueofreportcriteria = 2
> report form type2 next 1 to print noeject
> case valueofreportcriteria = 3
> report form type3 next 1 to print noeject
> case valueofreportcriteria = 4
> report form type4 next 1 to print noeject
> endcase
>endscan
>report form endreport to print
>
>
>Clumsy to say the least. Any better ideas?
>
>Glenn