CHOOSE

Sommaire


Choosepermet de sélectionner des enregistrements dans une table, par l'intermédiaire d'une fenêtre.

 

Syntaxe

Chooseclasse
  [Where Where_exp]  [Order by  Order_by_exp ]
 Usingliste_champ
  [Sizeddimension ]
  [Titledtitre_boite ]
  [Starting AtStart_exp ]

 

Paramètres

Elément

Description

Restrictions

classe

Abréviation d'un fichier ouvert

le fichier doit déjà être ouvert

Where_exp

expression_de_sélection. Voir Where

Aucune.

Order_by_exp

expression_de_clé. Voir Order

Aucune.

liste_champ

Liste des champs séparés par le caractère ','.
La définition d'un champ s'exprime sous la forme :
Champ[Titledtitre_champ]

25  champs maximum 

champ

Identifiantd'un champ sous la forme suivante :
- nom de variable

titre_champ

Expression alphanumérique du titre du champ

dimension

Taille de la boîte de sélection à l'écran sous la forme :
'('
nb_lig  ',' nb_col ')'

Cette position ne doit pas être en dehors des limites de l'écran.

nb_lig

Expression entière donnant  un nombre de lignes
exprimé en 1/8 de ligne.

nb_col

Expression entière donnant un nombre  de colonnes
exprimé en 1/4 de colonne.

titre_boîte

Expression alphanumérique du titre de la boîte

Start_exp

expression_logique indiquantl'enregistrement sur lequel il faut positionner le curseur.

Aucune.

 

Exemples

 

#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

 

Description et commentaires

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.

 

Remarques

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.

 

Erreurs associées

Erreur

Description

ERCLAS( 7)

Lefichier n'est pas ouvert.

 

Mots-clés associés

WHERE - ORDERSTATUS - SELBOX - INPBOX - DLGBOX - MESBOX


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved