Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Overflow data to next page.
Message
 
To
08/08/1997 09:49:15
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Miscellaneous
Thread ID:
00043581
Message ID:
00043704
Views:
36
>>>>I have a report that will fit 10 columns across. Unfortunately, some users may require many more. Is there a way to get columns 1-10 to show on page one, and columns 11-20 on page 2? This report is also a multi-page report, so page 1 and 2 would be the first page of the entire report, 3 and 4 would be the second and so on. Any ideas? Thanks for any feedback.
>>>>Marcus.
>>>
>>>don't think that can be done. solutions we've used include smaller fonts, landscape printing, legal paper (and legal landscape)
>>
>>Whenever you want to do anything like that which the report writer doesn't want to do, you have to make a cursor and run the report off that. It'll be something like
>>SELECT ALL keyfield, 1 AS pagefield, page1field1, page1field2, ..., "" AS page2field1, "" AS page2field2...,memofield FROM yourtable INTO CURSOR tmpreport WHERE yourconditional UNION SELECT ALL keyfield, 2 AS pagefield, "" AS page1field1, "" AS page1field2, ..., page2field1, page2field2,...,memofield FROM yourtable WHERE yourconditional2
>>for a two page report. Expand as needed for a 4 page report. "Yourconditional2" can include a condition for not printing page 2. Your report will have the controls for 2 (or 4, or whatever) pages all on one page, making a big mess. Each control has a PRINT WHEN pagefield = 1, or whatever page that field is supposed to print on. In order to make all of this work, you probably want your detail band to have a constant height, and your controls to be fixed in height and position (no stretching or floating).
>
>That's a way, but bulky one. Another solution might be to have two separate rert forms (e.g. rpt1 for 'main' 10 columns and rpt2 for addl 10). Then you run a loop:
>lparameter nLines && number of lines on each pages (hopefully, it's fixed number)
>Local nPointer
>Select rptcursor
>go top
>DO While .T.
> nPointer=recno()
> Report Form rpt1 Next nLines to print
> Go nPointer
> Report Form rpt2 Next nLines to print
> if eof()
> exit
> endif
>Enddo

then you also have to report form rpt1 for records in range, rpt 2 for same range. also fields may (probably) not be same for each run.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform