Lors de la saisie d’une invite, l’utilisateur peut aussi ( ou est obligé de ) sélectionner une valeur dans une liste prédéfinie. Cette dernière est définie soit par la liste de valeurs ( LOV ) d’un objet, soit par une énumération des différentes valeurs dans le paramètre approprié du @prompt() .
Le résultat reste assez basique, et il est légitime de vouloir une présentation plus sophistiquée pour :
– afficher un libellé explicite quand on doit saisir un code un peu obscur
– regrouper des valeurs quand on a une liste importante pour plus de lisibilité
Prenons par exemple une table VILLES qui contient les codes postaux, les libellés et les régions des villes de France. On souhaite avoir une invite sur le code postal, mais on aimerait afficher le libellé qui est quand même plus explicite …
La formule de l’objet est
@Prompt(‘Entrez le code postal’,’N’,’Villes\Code Postal’,mono,free)
Sous Deski à l’affichage on a juste les codes postaux :
Modifions cette liste de valeurs.
Sous XI on peut aller dans le menu Outils -> Listes de Valeurs -> Modifier une liste de Valeurs
On peut aussi la modifier « à l’ancienne », en allant dans les propriétés de l’objet Code Postal dans le Designer :
En cliquant sur le bouton « Modifier … » on accède à l’éditeur de requête, rajoutons l’objet Ville.
Là c’est mieux, dans les valeurs proposées on a maintenant la ville à droite du code postal :
Mieux, rajoutons en plus de la ville le département et passons en « Vue par hiérarchie » :
On a ici un regroupement des villes affiché en arborescence par départements. Ce type d’affichage est particulièrement intéressant pour une dimension avec de nombreuses valeurs, où l’utilisateur peut naviguer rapidement.
Attention, l’ordre des objets dans la requête est important, l’objet dont la valeur est prise doit être en première position, viennent ensuite les objets de l’arborescence du plus haut au plus bas
Sous Webi par contre la vue par hiérarchie n’existe pas, il n’y a que la vue tabulaire :