Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
REDUIRE SELECTION
|
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 | Entier long |
![]() |
Nombre d'enregistrements à conserver | |||||
La commande REDUIRE SELECTION crée une nouvelle sélection d'enregistrements pour laTable. 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(laTable;0) est exécutée, il n'y a plus de sélection ni d'enregistrement courants dans la table.
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
Produit : 4D
Thème : Sélections
Numéro :
351
Nom intl. : REDUCE SELECTION
Créé : < 4D v6
4D - Langage ( 4D v20 R7)