Jump to content
  • entries
    69
  • comments
    18
  • views
    6047

Les listes de valeurs en cascade | en direct de la FM Conférence 2008

David Julot

1552 views

palm_fmconf2008_180_t.jpgEn léger différé, en effet car la conférence est commencée depuis peu, je n’ai donc pas pu résister à l’envie de rédiger cette chronique pour sa diffusion avant dimanche !

Dans cette chronique, je vais vous apprendre à réaliser des listes de valeurs en cascade. Et pour fêter la FM Conférence de Nice, cette chronique sera un peu plus longue.


Mais qu’est-ce que l’on nomme des listes de valeurs en cascade ?

C’est ni plus ni moins que l’utilisation, au minimum, de deux listes de valeurs.

  • on choisit un item à partir d’une première liste de valeurs ;
  • on choisit un item à partir d’une deuxième liste de valeurs. Mais le contenu de la deuxième liste est conditionné au choix d’un item de la première liste.

 

À quoi cela sert-il ?

Les listes de valeurs en cascade, ou listes de valeurs conditionnelles, servent à limiter le nombre d’item d’une liste de valeurs et donc améliorer ce que l’on appelle « l’expérience utilisateur. »

Prenons, par exemple, le cas de la liste des communes françaises. Il y en a 36 683 ! On ne va décemment pas afficher en une liste toutes ces communes, et pour cause :

  • la liste sera trop longue pour l’utilisateur ;
  • FileMaker Pro devra « télécharger » tout le contenu avant de l’afficher à l’écran, ce qui peut prendre un certain temps…

Imaginons un instant que nous découpions la liste des communes françaises par département. Nous aurions alors une liste de 100 départements (en incluant les DOM), puis une liste plus réduite de communes.

La liste des communes par département est certes plus petite, mais nous avons encore une longue liste : celle des départements.

Imaginons maintenant que nous découpions la liste des départements par région. Nous aurions alors :

  • une liste, réduite, des régions françaises ;
  • une liste, réduite, des départements par région ;
  • une liste, réduite, des communes par département.

Cela signifie que l’utilisateur devra, avant de sélectionner une commune, de choisir une région, puis un département de cette région, et enfin une commune de ce département.

Cela peut paraître plus fastidieux, mais en réalité, l’utilisateur va se retrouver en face de listes très courtes, donc très rapide à utiliser.

Nous allons donc voir la réalisation de ce type de listes de valeurs en cascade.

Pour info, ceux qui souhaitent récupérer la liste des régions, départements et communes françaises, vous pouvez les télécharger à partir du site web de l’INSEE (http;//www.insee.fr).

 

Réalisation des listes de valeurs en cascade

Première étape, ajouter une table dans votre fichier, que je nommerai REGIONS contenant trois rubriques de type texte : Région, Département, Ville.

Deuxième étape, ajouter trois rubriques dans la table où s’effectuera la saisie : Région, Département, Ville.

sch_ma01.jpg

Réalisation de la première liste de valeurs

La première liste de valeurs à créer est celle des régions. Elle est très simple, c’est une liste de valeurs qui reprend le contenu de la rubrique Région de l’occurrence de table RÉGIONS. Pour savoir ce qu’est une occurrence de table, je vous renvoie vers ma chronique de la semaine dernière.

Pour la réalisation de cette première liste de valeur, il faut suivre la procédure suivante :

  1. Choisir l’article de menu Fichier > Gérer > Listes de valeurs… ;
  2. Cliquer sur le bouton Créer… ;
  3. Nommer la liste, par exemple « Liste des régions », et sélectionner l’option Utiliser les valeurs de ;
  4. Choisir dans le menu local Utiliser les valeurs de la première rubr. l’occurrence de table RÉGIONS et dans la liste sélectionner la rubrique Région ;
  5. Cliquer sur le bouton OK ;
  6. Cliquer sur le bouton OK pour refermer la définition de la liste de valeurs ;
  7. Cliquer sur le bouton OK pour quitter la fenêtre des listes de valeurs.

Pour utiliser cette liste de valeur :

  1. Activer le modèle contenant les rubriques de l’occurrence de table TABLE SAISIE ;
  2. Choisir l’article de menu Affichage > Mode Modèle ;
  3. Double-cliquer sur la rubrique Région ;
  4. Choisir dans le menu local Affichage comme, l’item Liste déroulante, puis sélectionner le menu local Afficher les valeurs de la liste l’item Liste des régions ;
  5. Cliquer sur le bouton OK ;
  6. Choisir l’article de menu Affichage > Mode Utilisation.

Réalisation de la deuxième liste de valeurs : celle des départements

Cette liste dépendra de ce que l’utilisateur à sélectionné à partir de la liste des régions. Une fois que l’utilisateur a sélectionné la région à partir de la première liste de valeurs, le nom de la région est donc stocké dans la rubrique Région de l’occurrence de table TABLE SAISIE.

Nous souhaitons alors la liste des départements liés à la région sélectionnée. Nous allons alors créer un lien, mais avant nous allons créer une occurrence de la table RÉGIONS.

sch_ma02.jpg

DÉPARTEMENTS et RÉGIONS sont deux occurrences de la même table RÉGIONS. Nous allons dans un premier temps créer l’occurrence de table DÉPARTEMENTS :

  1. Choisir l’article de menu Fichier > Gérer > Base de données… ;
  2. Choisir l’onglet Liens ;
  3. Cliquer sur le premier bouton en bas à gauche de la fenêtre (représentation d’une table avec un plus vert) ;
    Image1.png
  4. Dans la fenêtre Spécifier une table, sélectionner la table RÉGIONS ;
  5. Dans le champs Nom remplacer le nom de l’occurrence RÉGIONS 2 par, par exemple, DÉPARTEMENTS ;
  6. Cliquer sur le bouton OK.

Une fois la création de l’occurrence terminée, créer le lien entre les deux occurrences TABLE SAISIE et DÉPARTEMENTS : relier la rubrique Région de l’occurrence TABLE SAISIE à la rubrique Région de l’occurrence DÉPARTEMENTS.

Ce lien ne servira qu’à la définition de la liste de valeurs des départements par région. Pour la création de cette liste de valeurs :

  1. Choisir l’article de menu Fichier > Gérer > Listes de valeurs… ;
  2. Cliquer sur le bouton Créer… ;
  3. Nommer la liste, par exemple « Liste des départements par région », et sélectionner l’option Utiliser les valeurs de ;
  4. Choisir dans le menu local Utiliser les valeurs de la première rubr. l’occurrence de table DÉPARTEMENTS et dans la liste sélectionner la rubrique Département ;
  5. Sélectionner l’option Inclure uniquement les valeurs liées à partir de, et choisir dans le menu local l’occurrence TABLE SAISIE ;
  6. Cliquer sur le bouton OK ;
  7. Cliquer sur le bouton OK pour refermer la définition de la liste de valeurs ;
  8. Cliquer sur le bouton OK pour quitter la fenêtre des listes de valeurs.

Pour utiliser cette liste de valeur :

  1. Activer le modèle contenant les rubriques de l’occurrence de table TABLE SAISIE ;
  2. Choisir l’article de menu Affichage > Mode Modèle ;
  3. Double-cliquer sur la rubrique Département ;
  4. Choisir dans le menu local Affichage comme, l’item Liste déroulante, puis sélectionner le menu local Afficher les valeurs de la liste l’item Liste des départements par région ;
  5. Cliquer sur le bouton OK ;
  6. Choisir l’article de menu Affichage > Mode Utilisation.

Réalisation de la troisième liste de valeurs : celle des villes

Cette liste dépendra de ce que l’utilisateur à sélectionné à partir de la liste des régions puis de la liste des départements. Une fois que l’utilisateur a sélectionné le département à partir de la deuxième liste de valeurs, le nom du département est donc stocké dans la rubrique Département de l’occurrence de table TABLE SAISIE.

Nous souhaitons alors la liste des villes liés au département sélectionné. Nous allons alors créer un lien, mais avant nous allons créer, une nouvelle fois, une occurrence de la table RÉGIONS.

sch_ma04.jpg

VILLES, DÉPARTEMENTS et RÉGIONS sont trois occurrences de la même table RÉGIONS. Nous allons dans un premier temps créer l’occurrence de table VILLES :

  1. Choisir l’article de menu Fichier > Gérer > Base de données… ;
  2. Choisir l’onglet Liens ;
  3. Cliquer sur le premier bouton en bas à gauche de la fenêtre (représentation d’une table avec un plus vert) ;
    Image1.png
  4. Dans la fenêtre Spécifier une table, sélectionner la table RÉGIONS ;
  5. Dans le champs Nom remplacer le nom de l’occurrence RÉGIONS 2 par, par exemple, VILLES ;
  6. Cliquer sur le bouton OK.

Une fois la création de l’occurrence terminée, créer le lien entre les deux occurrences TABLE SAISIE et VILLES : relier la rubrique Département de l’occurrence TABLE SAISIE à la rubrique Département de l’occurrence VILLES.

Ce lien ne servira qu’à la définition de la liste de valeurs des villes par département. Pour la création de cette liste de valeurs :

  1. Choisir l’article de menu Fichier > Gérer > Listes de valeurs… ;
  2. Cliquer sur le bouton Créer… ;
  3. Nommer la liste, par exemple « Liste des villes par département », et sélectionner l’option Utiliser les valeurs de ;
  4. Choisir dans le menu local Utiliser les valeurs de la première rubr. l’occurrence de table VILLES et dans la liste sélectionner la rubrique Ville ;
  5. Sélectionner l’option Inclure uniquement les valeurs liées à partir de, et choisir dans le menu local l’occurrence TABLE SAISIE ;
  6. Cliquer sur le bouton OK ;
  7. Cliquer sur le bouton OK pour refermer la définition de la liste de valeurs ;
  8. Cliquer sur le bouton OK pour quitter la fenêtre des listes de valeurs.

Pour utiliser cette liste de valeur :

  1. Activer le modèle contenant les rubriques de l’occurrence de table TABLE SAISIE ;
  2. Choisir l’article de menu Affichage > Mode Modèle ;
  3. Double-cliquer sur la rubrique Ville ;
  4. Choisir dans le menu local Affichage comme, l’item Liste déroulante, puis sélectionner le menu local Afficher les valeurs de la liste l’item Liste des villes par département ;
  5. Cliquer sur le bouton OK ;
  6. Choisir l’article de menu Affichage > Mode Utilisation.

 

Le truc et astuce…

Maintenant, la cerise sur la gâteau ! Nous venons de créer trois listes, pour trois rubriques, mais on peut imaginer que seule la rubrique Ville soit utile et que le rubriques Région et Département ne doivent pas apparaître à l’écran. Et bien, nous allons utiliser une astuce aussi vieille que FileMaker Pro 3 !

Mettons nous en mode Modèle. Nous avons actuellement les trois rubriques, les unes au dessus des autres :

Image_1.png

Nous allons les superposer :

Image_2.png

Et là, on s’aperçoit que le fond des trois rubriques est transparent. Nous allons alors fixer le fond à l’aide des motifs de fond des objets, présent dans la zone d’état et sélectionner le fond opaque (carré noir sur carré blanc) :

sch_ma07.jpg

Vous pouvez maintenant superposer complètement les trois rubriques :

Image_4.png

Si l’utilisateur, ou vous même, utiliser la touche de tabulation pour passer de rubrique en rubrique, pas de problème, les trois listes de valeurs apparaîtrons dans l’ordre : régions, départements puis villes. Mais quid de l’utilisateur qui cliquerait directement sur la rubrique Ville. Il faut absolument passer par la liste de valeurs des régions associée à la rubrique Régions. Et bien transformons la rubrique Ville en bouton :

  1. Choisir l’article de menu Mode > Mode Modèle ;
  2. Sélectionner la rubrique Ville ;
  3. Choisir l’article de menu Format > Configuration du bouton… ;
  4. Sélectionner l’action Activer rubrique, puis sélectionner l’option Activer rubrique cible et sélectionner la rubrique Région et valider en cliquant sur le bouton OK ;
  5. Valider la définition du bouton en validant sur le bouton OK ;
  6. Choisir l’article de menu Mode > Mode Utilisation.

 

Et deuxième cerise…

Et comme je suis très gourmand, je vous propose le fichier FileMaker en téléchargement, il inclut dans la table RÉGIONS la liste de toutes les communes françaises avec leur département et leur région administrative.

 

C’est tout pour aujourd’hui…

En attendant la digestion complète de cette chronique, un peu de repos et je vous retrouve la semaine prochaine pour un nouveau billet.

Je remercie toutes celles et tous ceux qui me lisent et qui m’ont très chaleureusement remercié ici à Nice. Avec une dédicace spéciale pour nos amis québécois.



4 Comments


Recommended Comments

Merci pour ce partage, une fois appréhendé le concept de l’occurrence, c'est simple. Néanmoins je trouve que cette gestion alourdi un peu le modèle de données mais pour un outil léger ça devrait aller.

J'ai une question : je souhaite ajouter en plus de ces listes conditionnelles, une valeur finale (dans le cadre de cet exemple le nombre d'habitant d'une ville par exemple). Comment récupérer cette donnée pour l'afficher dans un champ texte classique ? Ou la stocker dans une variable car dans mon cas je vais retravailler le résultat dans une formule.

un grand merci !

Share this comment


Link to comment

Bonjour Anthony,

Il existe plusieurs méthodes pour récupérer une ou des valeurs suite à l'utilisation de listes de valeurs conditionnelles (ou non) puisque cela revient à récupérer une valeur via un lien relationnel.

Share this comment


Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...