Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Want to skip records
Message
 
À
29/11/2006 09:56:02
Rebecca Stottlemire
Kansas State Department of Commerce
Topeka, Kansas, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP
Network:
Windows 2000 Server
Divers
Thread ID:
01173254
Message ID:
01173292
Vues:
7
>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.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform