CHOOSE |
Choosepermet de sélectionner des enregistrements dans une table, par l'intermédiaire d'une fenêtre.
Choose classe [ Where Where_exp] [ Order by Order_by_exp ] Using liste_champ [ Sized dimension ] [ Titled titre_boite ] [ Starting At Start_exp ]
Elément | Description | Restrictions |
Abréviation d'un fichier ouvert | le fichier doit déjà être ouvert | |
expression_de_sélection. Voir Where | Aucune. | |
expression_de_clé. Voir Order | Aucune. | |
liste_champ | Liste des champs séparés par le caractère ','. | 25 champs maximum |
champ | Identifiantd'un champ sous la forme suivante : | |
titre_champ | Expression alphanumérique du titre du champ | |
dimension | Taille de la boîte de sélection à l'écran sous la forme : | Cette position ne doit pas être en dehors des limites de l'écran. |
nb_lig | Expression entière donnant un nombre de lignes | |
nb_col | Expression entière donnant un nombre de colonnes | |
titre_boîte | Expression alphanumérique du titre de la boîte | |
expression_logique indiquantl'enregistrement sur lequel il faut positionner le curseur. | Aucune. |
#ouverture de la table de travail
If !clalev([F:ZMS]) : Local File ZMOTSAI [ZMS] :Endif
# affichage de tous les enregistrements de latable
# dans l'ordre croissant des références articles
Choose[ZMS]
& Order By evalue("YITMREF") Using
& [ZMS]YITMREF Titled "Article",
& [ZMS]YITMDES Titled "Intitulé",
& [ZMS]YBASPRI Titled "Prix",
& [ZMS]YVATRAT Titled "Taux"
& Sized(80,240)
& Titled "boite de sélection"
# affichage des enregistrements de la table
# à partir de celui ayant des prix inférieur à 100F
# en ordonnançant selon le prix, dans l'ordre décroissant
# en positionnement curseur à la 1ère référence artice commençant par "L" avec prix > 60
Choose[ZMS]
& Where ([F:ZMS]YBASPRI < 100)
& Order By evalue("YBASPRI") Desc Using
& [ZMS]YBASPRI Titled "Prix",
& [ZMS]YITMREF Titled "Article"
& Sized(80,240)
& Titled "Depuis dernier choix, et prix <100F"
& Starting At [ZMS]YITMREF >= "L" and[ZMS]YBASPRI > 60
Choosepermet d'ouvrir une fenêtre sur une liste d'enregistrements extraite d'une table, et d'y sélectionner un enregistrement. Cette instruction est généralement utilisée dans le traitement de sélection d'une zone définie dans un masque, pour faire une saisie dans une liste, mais on peut aussi l'utiliser dans un traitement quelconque, et en dehors de toute instruction de saisie.
Le fichier sur lequel opère la sélection doit avoir été ouvert par l'instruction File ou Local File. En particulier, il peut résulter de l'exécution d'un ordre système, comme le permet l'instruction File.
La clause Where, qui est optionnelle, définit les critères à vérifier par des enregistrements pour apparaître dans la fenêtre de sélection. En son absence, seuls les 255 premiers enregistrements de la table pourront être choisis. Les critères de sélection définis dans Choose s'aditionnent à ceux de l'instruction File lorsqu'elle en comporte, ou au dernier Filter.
La clause Order By définit l'ordre d'apparition des informations dans le masque. La précision d'un nombre de parties de clés permet de restreindre la lecture des enregistrements au premier rencontré (cas où il y a des homonymies) pour chaque nouvelle valeur prise par la clé (sur le nombre de composantes donné). En absence de clause Order By, Adonix déterminera en fonction de la clause Where, la clé qui sera utilisée. Pour les fichiers de type System, où aucune clé ne peut être définie, les enregistrements sont dans l'ordre qu'aurait leur affichage par la commande Unix.
La clause Using permet de définir les champs de la table qui seront visualisés dans la fenêtre de sélection.
Choosecharge un maximum de 255 enregistrements dans le masque. Puis Le curseur se positionne dans la fenêtre de sélection sur :
La clause Sized permet de donner une dimension à la boîte de sélection.
La clause Titled permet de donner un titre à la boîte de sélection.
Choosemet à jour la variable fstat qui vaut 0 lorsqu'il y a des éléments à sélectionner et sinon 4, signifiant que le fichier est 'vide' (selon les critères de sélection donnés ou sinon sans enregistrement).
Si le fichier est 'vide', la fenêtre de sélection ne s'ouvre pas et la variable [S]status reste à 0.
L'enregistrement sélectionné devient l'enregistrement courant et les variables de la classe [F] (comme celles de la classe [G]) comportent les valeurs correspondant à cet enregistrement.
La variable système status retourne le statut de sortie de la sélection. status vaut 28 si un enregistrement a été sélectionné.
Les boîtes de sélection sont refermées dès que l'on a fait un choix. L'instruction Close n'existe pas pour un Choose.
ERCLAS( 7) | Lefichier n'est pas ouvert. |
WHERE - ORDER - STATUS - SELBOX - INPBOX - DLGBOX - MESBOX
Adonix X3(r) L4G |