version 5
REDUIRE SELECTION ({laTable; }nombre)
Paramètre | Type | Description | |
laTable | Table | Table de laquelle réduire la sélection ou | |
Table par défaut si ce paramètre est omis | |||
nombre | Numérique | Nombre d'enregistrements à conserver |
Description
La commande REDUIRE SELECTION crée une nouvelle sélection d'enregistrements pour table. La commande réduit la sélection de laTable aux nombre premiers enregistrements. REDUIRE SELECTION s'applique à la sélection courante de laTable pour le process courant. Le premier enregistrement de la nouvelle sélection courante devient l'enregistrement courant.
Note : Si l'instruction REDUIRE SELECTION(0) est exécutée, il n'y a plus de sélection ni d'enregistrement courants dans la table.
Exemple
L'exemple suivant établit des statistiques pour une compétition mondiale parmi les revendeurs dans plus de 20 pays. Pour chaque pays, les trois meilleurs revendeurs qui ont vendu plus de 50 000 Euros de produits font partie des 100 meilleurs revendeurs dans le monde et sont recompensés. Avec peu de lignes de code, cette requête complexe peut être effectuée en utilisant des recherches indexées :
ENSEMBLE VIDE([Revendeurs];"Gagnants") ` Créer un ensemble vide SCAN INDEX([Revendeurs]Montant;100;<) ` Chercher à la fin de l'index NOMMER ENSEMBLE([Revendeurs];"100 Meilleurs Revendeurs") ` Placer les enregistrements sélectionnés dans un ensemble Boucle ($Pays;1;Enregistrements dans table([Pays])) ` pour chaque pays ` Chercher les revendeurs dans ce pays CHERCHER([Revendeurs];[Revendeurs]Pays=NomPays;*) ` ...qui ont vendu plus de 50000 CHERCHER(&;[Revendeurs];[Revendeurs]Montant vendu>=50000) NOMMER ENSEMBLE([Revendeurs];"GagnantsRevendeurs") ` Les placer dans un ensemble ` Ils doivent être placés dans le groupe des 100 meilleurs revendeurs INTERSECTION("GagnantsRevendeurs";"100 Meilleurs Revendeurs";"GagnantsRevendeurs") UTILISER ENSEMBLE("GagnantsRevendeurs") ` Gagnants potentiels pour le pays ` Trier les résultats en ordre décroissant TRIER([Revendeurs];[Revendeurs]Montant vendu;<) REDUIRE SELECTION([Revendeurs];3) ` Garder les trois meilleurs NOMMER ENSEMBLE([Revendeurs];"GagnantsRevendeurs") ` Les gagnants pour le pays ` Les placer dans un ensemble des gagnants mondiaux REUNION("GagnantsRevendeurs";"LesGagnants";"LesGagnants") Fin de boucle EFFACER ENSEMBLE("100 Meilleurs Revendeurs") ` Nous n'avons plus besoin de cet ensemble EFFACER ENSEMBLE("GagnantsRevendeurs") ` Nous n'avons plus besoin de cet ensemble UTILISER ENSEMBLE("LesGagnants") ` Voici les gagnants EFFACER ENSEMBLE("LesGagnants") ` Nous n'avons plus besoin de cet ensemble FORMULAIRE SORTIE([Revendeurs];"Lettre des gagnants") ` Sélectionner la lettre IMPRIMER SELECTION([Revendeurs]) ` Imprimer les lettres
Référence
CHERCHER, Présentation des ensembles, SCAN INDEX, TRIER.