Changements récents - Rechercher:

Tutoriel Filemaker

  1. Structure
  2. Modèles
  3. Opérations diverses
  4. Calculs
  5. Scripts
  6. Privilèges d'accès

Filemaker avancé

  1. Partage des données
  2. Astuces et Exemples
  3. Développement

Règles de nommage

Versions de FileMaker Pro

Liens utiles Contact Commentaires

edit SideBar

Listes de valeurs

<==Table externe ^ Modèles Onglets==>

Un élément franchement utile dans FileMaker Pro : la liste de valeurs.
Profitons-en pour tordre le cou à quelques canards :

  • Une liste de valeur est une série de données séparées par des retours chariot "¶". A noter que le premier et le dernier caractère d'une liste ne sont pas des retours chariot...
  • Une liste de valeur est toujours du texte. A répéter 100 fois au moins...

Il existe en FileMaker Pro trois types de listes de valeurs:

  • En utilisant les valeurs d'une rubrique
  • En utilisant une liste d'un autre fichier
  • En utilisant des valeurs personnalisées

Nous ne verrons pas ici les listes provenant d'un autre fichier : vieux souvenir des anciennes versions de FileMaker Pro... Soyons modernes !

Liste de valeurs personnalisées


Pour créer une liste dans notre fichier, depuis le menu, cliquer "Fichier", "Définir" ou "Gérer" (v9), "Liste de valeurs" :

Lorsque la fenêtre des listes de valeurs apparaît, cliquer sur le bouton "Créer" : la fenêtre de création apparaît :

On se crée ici une liste de valeur de toutes pièces, avec des valeurs saisies à cet effet. Pour ce faire, on sélectionne "Utiliser les valeurs personnalisées" et on encode les valeurs désirées. Dans l'exemple, on veut se faire une liste de choix "Oui-Non". On encode simplement "Oui", on fait "enter" pour passer à la ligne suivante, puis on encode "Non" : on a ainsi une liste personnalisée. A noter que l'on peut se créer une liste d'une seule valeur... C'est parfois fort utile !
On termine en n'oubliant pas de donner un nom à la liste, que l'on pourra faire suivre de _p (comme personnalisée), avant de cliquer OK. Plus le nom est explicite, plus il sera facile de s'y retrouver ensuite. Ici autant l'appeler OuiNon_p

Liste de valeurs d'une rubrique, toutes les valeurs


Il s'agit ici de se créer une liste de valeurs en prenant les données d'une rubrique, sur la totalité des enregistrements d'une table FileMaker Pro. Par exemple, on aimerait avoir une liste qui reprend l'ensemble exhaustif des noms de la table PER_Personnes. Depuis l'écran de création, on rentre le nom de la liste (ici, "Personnes" ou "Personnes_r), et on choisi la première option, "Utiliser les valeurs de" :

L'écran de sélection apparaît :

Ne nous mêlons pas les pinceaux ici, ce serait trop bête ! S'il s'agit de lister l'entièreté des noms de la table PER, le mieux est de se placer dans le contexte de l'OT ancre "PER__" ! Lorsque "PER__" est sélectionné, il suffit de choisir "Nom" dans la liste des rubriques. On précise que l'on veut toutes les valeurs en cochant la case "Inclure toutes les valeurs". La liste est ainsi terminée.

L'avantage de ce type de liste est qu'elles peuvent être utilisées partout dans le fichier FileMaker Pro, quel que soit le contexte. Prouvons-le ! On se crée une petite rubrique texte dans notre table "martyre", PAR_Parametres, en se plaçant sur le modèle PAR_Tech. Appelons cette nouvelle rubrique "test". Elle se place sur le modèle technique PAR_Tech (si on a pensé à le sélectionner avant, bien sûr). Cette rubrique étant sélectionnée, en mode modèle, on affiche le menu contextuel, et on appelle "Rubrique/contrôle", puis "Configuration" :

Ou en double cliquant sur la rubrique (en mode modèle, toujours), la fenêtre de configuration apparaît :

Dans cette fenêtre, on sélectionne d'abord le style de contrôle : Affichage comme Liste déroulante, puis, dans "Afficher les valeurs de", on sélectionne notre liste de valeurs, "Personnes". On coche également "Compléter automatiquement à l'aide de la liste de valeurs". Cette option est un filtre : lorsque le premier caractère est encodé dans la rubrique, la liste se limite aux données commençant par ce caractère, idem pour le 2e caractère, etc. La rubrique est ainsi configurée sous forme de liste déroulante avec l'ensemble des noms. On peut vérifier, en mode utilisation. si on clique dans la rubrique, la liste apparaît. En encodant quelques lettres : la liste se filtre au fur et à mesure.

Notons au passage trois autres éléments importants :

  • la liste est triée par ordre alphabétique
  • si l'on encode des caractères, le premier nom correspondant est déjà dans la rubrique. Pratique mais parfois dangereux aussi, il ne faut pas oublier de cliquer sur la valeur que l'on souhaite conserver.
  • Si un nom est déjà présent dans la rubrique, après avoir cliqué en dehors, en resélectionnant la rubrique, la liste apparait avec le nom sélectionné. Elle se place de façon à ce qu'il soit visible, même s'il est dans le bas.
  • Si on double clique dans la rubrique, la liste disparaît et l'on peut saisir ce que l'on veut.

Suite page 2

____

Liste de valeurs filtrées


Dans la liste précédente, on ne tient pas compte du contexte : on prend tous les enregistrements d'une table, sans distinction. Ce serait pratique si la liste que l'on veut obtenir pouvait dépendre précisément du contexte, c'est à dire d'un lien établi sur une ancre de départ. Un exemple : la liste des élèves inscrits dans une classe. Cette liste varierait donc de l'enregistrement d'une classe à un autre ! On partirait donc de l'ancre CLA__ et on demanderait que la liste contienne les données liées de l'OT "cla_ins_PER__Eleves". A y réfléchir, c'est exactement la même chose que de demander à une Table Externe d'afficher une série de données : on devrait, en définitive, obtenir les mêmes données : une fois dans une TE et une autre fois dans une liste déroulante !

Pour créer la liste, on démarre comme pour une liste totale : du menu, "Fichier", "Définir" ou "Gérer", "Liste de valeurs", "Créer...", "Utiliser les valeurs de :" :

Par contre, ici, on ne va pas rester sur l'OT de l'ancre "CLA__", mais on va chercher l'OT bouée "cla_ins_PER__Eleves", bien connue maintenant pour nous donner les élèves liés pour un an à une classe, et on sélectionne la rubrique "Nom". Comme on veut filtrer par classe, selon notre contexte, on ne va pas inclure toutes les valeurs, mais bien inclure uniquement les valeurs liées à partir de notre ancre "CLA__". On précise cela dans les options :

On n'oublie pas de donner un nom approprié à la liste. Ici, Eleves_CLA devrait suffire, précisant que c'est une liste des élèves à partir du contexte CLA.

Sur le modèle CLA_Tech (gardons nos bonnes habitudes), on se crée une petite rubrique texte bidon, appelée pompeusement "test". En mode modèle, on place cette rubrique sur notre modèle CLA_Fiche et on la configure en liste déroulante avec la liste Eleves_CLA.

Si nous nous plaçons sur l'enregistrement de la classe des Grands, dans laquelle des élèves sont inscrits, nous allons obtenir :

A comparer avec les données de la TE précédemment créée...

Si nous nous plaçons sur une autre classe, qui n'a personne d'inscrit pour le moment, la liste reste désespérément vide...

Remarques


  • Il est probable que, visuellement, cette dernière liste ne ressemble pas aux données de la TE : l'ordre est différent. Leçon à retenir ici : une liste FileMaker Pro est TOUJOURS triée par ordre alphabétique ! Pour qu'une TE soit triée, il faut préciser dans les options de la TE l'ordre de tri...
  • FileMaker Pro offre en option la possibilité de rajouter une deuxième rubrique (de la même OT, par pitié...) dans la liste. De plus, lorsque cette option est sélectionnée, on peut :
    • masquer la première rubrique
    • trier sur la 2e rubrique
  • Qu'on ne s'y trompe pas (car tout cela devient confus !) : quoiqu'on fasse et choisisse comme option, c'est bien toujours une donnée de LA PREMIERE RUBRIQUE qui sera saisie, et JAMAIS une donnée de la deuxième rubrique ! La deuxième rubrique n'est là qu'à titre informatif, sans plus (ce qui peut s'avérer vachement utile, disons-le !)
  • La liste de valeur étant établie, elle peut être représentée de 4 manières sur un modèle :
  • Nous avons déjà vu la liste déroulante, servant à proposer des valeurs à saisir, mais on est libre d'encoder ce que l'on veut. On peut utiliser l'option bien pratique de "compléter automatiquement à l'aide de la liste de valeur", ce qui veut dire en simple que la liste se "rétrécit" à chaque lettre encodée...
  • Le Menu local impose par contre de sélectionner une des valeurs de la liste. On n'a pas le choix ! Par contre, si l'option est cochée, on peut rajouter une valeur à la liste. Bizarre...
  • Le jeux de cases à cocher permet de multiples sélections de valeurs. Si l'option est cochée, on peut rajouter une autre valeur à la liste. Pas de confusion ici : si plusieurs valeurs sont sélectionnées, on re-crée au sein de la rubrique ainsi configurée une nouvelle liste de valeurs, les valeurs étant séparées par des retours charriot. Il faut le savoir pour des traitements ultérieurs. Par ailleurs elles apparaitront dans l'ordre de leur sélection (ordre dans lequel les cases ont été cochées).
  • Le jeu de cercle d'option n'autorise (normalement) qu'une et une seule sélection de valeur. Attention toutefois : avant de faire quoique ce soit, la rubrique est vide. Lorsqu'on clique sur le cercle d'une des valeurs, la rubrique prend cette valeur comme donnée. Normal jusque là. On peut changer la donnée en sélectionnant une autre valeur. MAIS il est un peu compliqué de vider à nouveau la rubrique !!! Certains esprits malins y arrivent en utilisant la commande "Couper", mais il est utile de prévoir un bouton (voir plus loin) qui videra la rubrique si besoin.
    • bon, comme on est là pour tout se dire, voici la ruse, ou le défaut de la cuirasse, des cercles d'option : cliquer dans un cercle non sélectionné en maintenant la touche "shift" enfoncée permet de faire de multiples sélections. À l'inverse, cliquer dans un cercle déjà sélectionné en maintenant cette même touche enfoncée va le désélectionner, même si c'est le seul choix coché. Chuuut...

Et puisque nous sommes dans les petits secrets :

Une liste de valeurs sans liste


Dans le modèle PER_Fiche, en mode modèle, on double-clique sur la rubrique CP pour ouvrir la fenêtre de configuration. Dans cette fenêtre, on coche la case "compléter automatiquement à l'aide des valeurs précédemment saisies...

On repasse en mode utilisation, on crée un nouvel enregistrement. On clique dans la rubrique CP, rien de particulier. Par contre, si je saisis une valeur correspondant au premier chiffre d'un code postal (en l'occurrence un 9 ou un 1), surprise, la liste de tous les codes postaux commençant par ce chiffre apparait...
Ceci fonctionne évidemment aussi pour les autres rubriques.

<==Table externe ^ Modèles Onglets==>
Éditer - Historique - Imprimer - Changements récents - Rechercher
Page mise à jour le 21 novembre 2024 à 10h01