Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20 R7
Enregistrer comme Valeur ou Référence

Enregistrer comme Valeur ou Référence  


 

 

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, les Pop-ups/Listes déroulantes ainsi que les colonnes de list box (cf. Propriétés spécifiques des colonnes de List box :

L'option est proposée dans les conditions suivantes :

  • une énumération est associée à l'objet (cf. Enumérations)
  • dans le cas des champs, variables ou colonnes de list box, une énumération de valeurs obligatoires doit également être définie pour l'objet (la même énumération doit être généralement utilisée), de sorte que seules des valeurs appartenant à l'énumération pourront être saisies par l'utilisateur.

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é.

Exemple  

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 :

En saisie, vous pouvez sélectionner une valeur dans le pop up menu, elle est correctement affichée dans les deux objets :

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).

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 :

A l’exécution, la valeur est correctement affichée :

 
PROPRIÉTÉS 

Produit : 4D
Thème : Propriétés des objets actifs
Nom intl. : Save as Value or Reference

 
PAGE CONTENTS 
 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v20 R7)