Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Want to skip records
Message
 
To
29/11/2006 09:56:02
Rebecca Stottlemire
Kansas State Department of Commerce
Topeka, Kansas, United States
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP
Network:
Windows 2000 Server
Miscellaneous
Thread ID:
01173254
Message ID:
01173292
Views:
6
>I am doing a report in which I want to list only the first 15 records in each grouping, not the whole file.
>
>I put in a counter and asked it to print when the counter is < 16, but it's printing the first 15 then leaving blank lines for all the rest (100's of blank pages). I have the no print when empty checked, but that doesn't do it.
>
>Is there a way to get it to quit after 15 and go to the next category?
>
>Thanks,
>Rebecca

I've had to do this for another client, but had a multi-part process... Like suggested, do a select group by, order by whatever your criteria calls for. Add an extra column to your select as a flag... ex: .F. as OkToShow...

Then, once you have your cursor, you'll have to run it through a loop and set the flag on each group... something like...
select distinct GroupFields from YourCursor into cursor C_MyScan

select C_MyScan
scan
   select YourCursor
   seek C_MyScan.GroupFields  && or locate if you don't have an index...
   lnI = 0
   do while GroupFields = C_MyScan.GroupFields and lnI < 15
      replace OkToShow with .t.
      skip
   endfor

   select C_MyScan  && just for clarification, but SCAN/ENDSCAN does for you
endscan
Finally, back at your cursor, build a filtered index on only the "OkToShow" records = .t., or re-select from YourCursor where OkToShow and use THAT cursor for the reporting.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform