Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Overflow data to next page.
Message
 
À
08/08/1997 11:57:50
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Divers
Thread ID:
00043581
Message ID:
00043729
Vues:
41
>>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.
>
>
>I did that already based on the same idea of creating a multiple detail band report that was discuss on a thread.
>
>Create a cursor that contains all the fields you need plus an extra field that will contain a page number.
>When you populate your cursor (through a loop) you keep a counter that increments the page number every time you have reached the maximum number of columns of your report. Then in the report you use data grouping on pageno and select "start each group on a new page".
>Your report is designed on a single page with a fixed number of columns, lets say 10, but you trick him by fiting unlimited number of columns into 10 columns.
>If the number of records exceeds one page, for example 2 pages, a record would be printed on page 1, and page 3 instead of page 1 and 2 like you first asked but does a big part of the job.
>
>
>example that prints 12 columns on 5 columns:
>CREATE CURSOR myData (x,y,z, col1, col2, col3, col4, col5, pageno)
>resulting data:
>
>claude,y,z,c1,c2,c3,c4,c5,1
>lina, y,z,c1,c2,c3,c4,c5,1
>peter, y,z,c1,c2,c3,c4,c5,1
>george,y,z,c1,c2,c3,c4,c5,1
>mark, y,z,c1,c2,c3,c4,c5,1
>claude,y,z,c6,c7,c8,c9,c10,2
>lina, y,z,c6,c7,c8,c9,c10,2
>peter, y,z,c6,c7,c8,c9,c10,2
>george,y,z,c6,c7,c8,c9,c10,2
>mark, y,z,c6,c7,c8,c9,c10,2
>claude,y,z,c11,c12, , , ,3
>lina, y,z,c11,c12, , , ,3
>peter, y,z,c11,c12, , , ,3
>george,y,z,c11,c12, , , ,3
>mark, y,z,c11,c12, , , ,3
>
>
>This what I formerly called "La passe du coyote"
>Is that worth 5 cents?
>
>Claude.

I've done something similar to this as well except using an array. I populate the aray with the data for the report and then do the actual printing from the array. Since, I know what the format of my output is supposed to be it's easy to decide how many of the array columns will fit on the first page. Say I had 12 columns, 10 of which would fit on a page. I would print (1,1) to (1,10) thru for example sake (50,1) to (50,10) and this page would be numbered 1-1. I would then print out (1,11) to (1,12) thru (50,11) to (50,12) and number the page 1-2.
This could just as easily be done with a cursor as well. Hope this helps.
Colin Magee
Team Leader, Systems Development
Metroland Media Group Ltd.
Mississauga, Ontario, Canada

cmagee@metroland.com

Never mistake having a career with having a life.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform