L'option Enregistrer comme Valeur/Référence est disponible dans le thème "Sources de données" pour les objets de type Champs et variables objets ainsi que les Pop-ups/Listes déroulantes :
![](../../picture/1350179/pict1350179.fr.png)
Cette option définit, dans le contexte d’un champ ou d’une variable associé(e) à une liste de valeurs (énumération), le type de contenu à stocker dans le champ :
- Enregistrer comme Valeur (option par défaut) : la valeur de l’élément choisi dans la liste par l’utilisateur est directement stockée. Par exemple, si l’utilisateur choisit la valeur "Bleu", cette valeur est stockée dans le champ.
- Enregistrer comme Référence : c’est la référence de l’élément de la liste de choix qui est stockée dans l’objet. La référence d’un élément de liste est une valeur numérique associée à chaque élément soit via le paramètre refElément des commandes AJOUTER A LISTE ou CHANGER ELEMENT, soit dans l’éditeur d’énumérations (cf. Affecter un numéro de référence à un élément).
Cette option permet d’optimiser l’occupation mémoire : le stockage de valeurs numériques dans les champs est plus économique que le stockage de chaînes de caractères. Elle permet également de faciliter la traduction des applications : vous pouvez créer plusieurs listes dans des langues différentes mais comportant les mêmes références d’éléments, et charger la liste en fonction de la langue de l’application.
L’utilisation de l’option Enregistrer comme Référence nécessite l’observation des principes suivants :
- Le champ ou la variable doit être de type numérique afin de pouvoir stocker la référence (quel que soit le type de la valeur affichée dans la liste).
- Des références valides et uniques doivent être associées aux éléments de la liste.
- Si vous activez cette option pour un objet pop-up menu/liste déroulante, il doit être associé à un champ (cf. paragraphe Utiliser une énumération).
- Cette option est compatible avec les énumérations définies en structure. Il suffit dans ce cas de sélectionner l’option dans chaque formulaire où le champ énuméré est utilisé.
Vous souhaitez utiliser un champ "Titre" pour caractériser des personnes : M., Mme, mais aussi Dr, Mgr, Me, etc. Pour cela, vous créez un champ "Titre" de type entier long. Vous définissez une liste de choix (nommée "Titres") contenant tous les titres possibles, et vous l’associez au champ.
Dans le formulaire d’entrée, nous représentons deux fois le champ "Titre" afin d’illustrer le mécanisme mis en oeuvre : une fois sous forme de pop-up/liste déroulante et une fois sous forme de zone de saisie. Les deux objets sont associés à la même énumération et les données sont enregistrées comme référence :
![](../../picture/1350217/pict1350217.fr.png)
En saisie, vous pouvez sélectionner une valeur dans le pop up menu, elle est correctement affichée dans les deux objets :
![](../../picture/1350219/pict1350219.fr.png)
Note : Dans ce formulaire, la fenêtre "Enumération" est affichée lorsque la zone de saisie prend le focus. Pour ne plus afficher cette fenêtre, il suffit d’utiliser un pop-up/liste déroulante menu pour la saisie et l’affichage de la valeur (cf. section Pop-ups/Listes déroulantes).
![](../../picture/1350221/pict1350221.fr.png)
Vous pouvez configurer le formulaire de sortie sur le même principe : vous sélectionnez l’option Référence pour l’enregistrement du champ Titre :
![](../../picture/1350229/pict1350229.fr.png)
A l’exécution, la valeur est correctement affichée :
![](../../picture/1350231/pict1350231.fr.png)