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

Mise en place des liens - Lien simple

<==Liens - Occurences de tables - Nommage ^ Structure Mise en place des liens - Lien global==>

Lien simple classique

Pour illustrer et comprendre le principe des liens, nous allons affecter du matériel à une classe.
Prenons l'hypothèse suivante dans notre exemple : il n'y a pas d'endroit de stockage pour le matériel didactique et on se fiche de l'historique des affectations du matériel à telle ou telle classe. La seule chose que l'on veut savoir, finalement, c'est la classe où il se trouve pour l'instant. Donc, si l'écran de projection se trouve dans la classe 3B, comment faire pour le savoir dans notre logiciel ?

Qu'avons-nous pour l'instant ? Une table des classes CLA et une table du matériel didactique, MAT. Chaque enregistrement de ces deux tables possède son zkp unique au sein de sa table respective. Ainsi (bien que notre fichier actuel ne comporte pas encore d'enregistrements), imaginons que le zkp de l'écran de projection soit 7 et celui de la classe 3B soit 15. Encore une fois, ce ne sont que des identifiants numériques et uniques. Dans la table CLA, la valeur zkp = 15 n'existe que dans un seul enregistrement, celui de la classe 3B. Idem dans MAT, un seul enregistrement correspond à la valeur 7 de la rubrique zkp, et c'est un écran de projection.

Que faut-il faire pour dire que l'écran se trouve dans la classe 3B ? Il nous faut LIER l'écran identifié par la valeur zkp = 7 avec la classe dont le zkp est 15... Comment ? En disant à l'enregistrement de l'écran (zkp 7) dans la table MAT que la classe où il est affecté est la 3B, de zkp 15 dans la table CLA. On fait ceci en créant une rubrique idoine dans la table MAT, dans laquelle on mettra la valeur du zkp de la classe 3B, soit 15, et on dira que la valeur de cette rubrique EST EGALE à la valeur du zkp de la classe dans la table CLA, soit 15. Cette nouvelle rubrique dans la table MAT est une CLE SECONDAIRE et sera nommée zkf_CLA pour indiquer que c'est une valeur d'un zkp de la table CLA qui y sera introduit:

Par la "magie" des liens, on va donc savoir que l'écran 7 est dans la salle 3B (facile, on l'a indiqué dans sa table) mais aussi, que dans la salle 3B, il y a l'écran 7 (puisque les deux sont liés).

Comment faire en pratique ?


Nous allons devoir lier des tables. Rappelons-nous du principe ANCRE-BOUÉE. Une table va donc nous servir d'ancre et l'autre de bouée.
Ouvrons le graphe des liens (le fichier pour ceux qui l'ont déjà perdu : GestionEcole version 6).

Nous n'avons pour le moment que des ancres. Pour relier la table CLA à la table MAT (l'ancre), il faut créer la bouée basée sur CLA. On va donc dupliquer l'OT CLA__ en la sélectionnant (en cliquant dessus) et, soit en cliquant sur l'icône en bas, 3e à partir de la gauche, soit en utilisant le raccourci clavier de duplication (pomme+D sur Mac, CTRL+D sur Windows). l'OT dupliquée s'appelle CLA__ 2, et on la glisse à côté de l'OT ancre MAT__ :

Ensuite, on la renomme, en cliquant deux fois dessus, en mat_CLA__, selon notre nomenclature AB :

ATTENTION
Pensez toujours à sélectionner le nom dans le cadre du bas avant de le changer. En effet, si vous tapez ne serait-ce que le M de MAT avant d'avoir sélectionné le nom, c'est la source de données qui va changer... Il ne coûte donc rien de vérifier que la table source est bien celle qu'on souhaite (c'est à dire la table dont le nom correspond à nos trois lettres majuscules).

Comme le nom est un peu plus long que celui d'origine, on peut également agrandir légèrement notre image de l'OT mat_CLA__. Tout ceci pour une belle esthétique, comme du reste nous allons aligner MAT__ et mat_CLA__ par leurs sommets (aligne sur la plus haute).

Ceci fait, on va établir le lien. Il faut donc "attacher" la rubrique zkf_CLA de l'OT ancre MAT__ à la rubrique zkp de l'OT bouée mat_CLA__ . Il faut donc commencer par créer la rubrique zkf_CLA dans la table MAT. On clique sur l'onglet "Rubriques", on affiche la table MAT_MaterielDidactique et on crée la nouvelle rubrique, de type nombre, comme le zkp.

On retourne dans l'onglet LIENS et on "Ouvre" les OT MAT__ et mat_CLA__ en cliquant sur le coin supérieur droit de chacune d'elles (1). On recherche, à l'aide de la petite flèche en bas de chaque OT, les deux rubriques qui nous intéressent, soit zkf_CLA dans MAT__ et zkp dans mat_CLA__. Lorsque ces deux rubriques apparaissent bien dans chacune des fenêtre, à l'aide de la souris, on clique une fois sur zkf_CLA dans MAT__, et on "glisse" en restant cliqué depuis cette rubrique jusqu'à la rubrique zkp le l'OT mat_CLA__ (2). On relâche ensuite : le lien est créé (3). Lorsque c'est fait, on referme les OT en cliquant deux fois dans le coin supérieur droit (4).

C'est la méthode la plus rapide pour faire un lien simple d'égalité. Il est néanmoins loisible bien sûr d'"ouvrir" le lien en cliquant dessus : on peut ainsi le modifier, le rendre multiple à l'aide de plus d'une rubrique (rajouter), ou changer les règles d'égalité (petite fenêtre du milieu) :

Grâce à ce lien, on va pouvoir à tout moment connaître le nom de la classe auquel le matériel est affecté, ainsi que le local, le bâtiment, etc...

Bien sûr, Une pièce de matériel didactique ne peut être affectée qu'à une et une seule classe. nous sommes dans le cas d'un lien de 1 à 1. Néanmoins, une classe peut posséder plusieurs pièces de matériel didactique : outre l'écran, il y a aussi le projecteur... (lien de 1 à n). On peut donc établir un nouveau lien, identique au précédent, mais, cette fois-ci, en partant de l'ancre CLA__ et allant vers la bouée cla_MAT__ (bouée qu'il convient de créer maintenant) et en réutilisant exactement les mêmes rubriques :

C'est ici qu'il faut mentionner que la méthode AB n'exploite pas la bi-directionnalité des liens en FileMaker Pro : on pourrait très bien se contenter du premier lien pour aller chercher le matériel d'une classe à partir de l'OT mat_CLA__... Mais, volontairement, on ne le fera pas, par souci de clarté et pour ne pas embrouiller nos contextes.

Reste une question à éclaircir, comment choisir quelle table recevra le lien secondaire pour être reliée au lien primaire ?
Dans l'exemple ci-dessus, la réponse est assez simple. N'oublions pas que nous gérons des liens de 1 à n. Si on doit indiquer dans la table CLA tous les identifiants des matériels présents, on doit prévoir autant de rubriques zkf qu'il y a de matériels dans la classe (zkf_MAT1, zkf_MAT2, zkf_MAT3, etc...) : c'est mal parti... Par contre, comme un matériel ne peut être que dans une classe, on n'a besoin que d'une seule rubrique zkf dans la table MAT, recevant l'identifiant de la seule classe où il peut se trouver. Voilà pourquoi nous identifions LA classe unique au sein de la table MAT des matériels, et non l'inverse

Pour comparer : GestionEcole version 7

<==Liens - Occurences de tables - Nommage ^ Structure Mise en place des liens - Lien global==>
Éditer - Historique - Imprimer - Changements récents - Rechercher
Page mise à jour le 30 juin 2008 à 20h43