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

Activer un modèle - navigation

<==Outils graphiques ^ Modèles Modèle Menu - ouverture sur un modèle==>

La navigation entre les différents modèles est importante à plus d'un titre et c'est souvent la façon dont cet aspect a été pris en charge qui détermine si un développement est de l'amateurisme pur ou si il y a un brin de professionnalisme ! La façon la plus simple et la plus mauvaise de naviguer en FileMaker Pro est de laisser grande ouverte la zone d'état et ainsi laisser l'accès à l'entièreté des modèles via la liste de ceux-ci... L'approche professionnelle consiste plutôt à fermer et bloquer la zone d'état pour contrôler toute la navigation via des boutons appropriés. En effet, il semble assez absurde de laisser un utilisateur se balader où bon lui semble au sein d'une application.
D'autre part, depuis la version v7 de FileMaker Pro, le nombre de modèles au sein d'un seul fichier a une fâcheuse tendance à exploser... De plus, l'utilisation des tables différentes au sein d'un même fichier risque parfois de perturber l'utilisateur arrivant par hasard sur un modèle qui n'affiche plus ses enregistrements.
Mais nous sommes ici pour apprendre et nous amuser et non pour faire de la morale ! Alors, retroussons-nous les manches et allons-y ! Comme tout le monde a bien suivi jusqu'ici et se retrouve avec ce fichier, on va monter un peu le niveau...

Navigation Fiche-Liste


Comme premier exercice, et grâce au fait que :

  • Nous nous sommes fabriqué des modèles liste et fiche pour chaque ancre (sauf PAR)
  • Nous avons bien nommé nos modèles, à l'aide des trigrammes des ancres

Nous allons tenter de passer facilement d'un modèle Fiche à un modèle Liste, et inversement, au sein de la même ancre. Souvenez-vous des deux petites icônes Liste et Fiche que l'on s'était fabriquées. Plaçons les deux correspondantes au modèle fiche activé et au modèle liste non activé sur notre modèle CLA_Fiche :

Plaçons-nous également sur un modèle proposant un choix entre _Fiche et _Liste, PER par exemple.

Un copier coller de nos six boutons en place pour les mettre au bon endroit dans PER_Fiche.

Puis nous en profitons pour copier coller nos quatre premiers boutons sur le modèle PER_Liste, puis nous faisons un couper coller de nos deux derniers boutons qui se promène tous seuls sur le modèle CLA_Fiche et les rangeons au bon endroit sur PER_Liste (puisqu'il n'y a pas de modèle CLA_liste).

Nous allons maintenant les utiliser ! Commençons par activer le bouton qui permet de passer d'un modèle fiche à un modèle liste.

Moyen simpliste, banal et sans intérêt

Nous sommes sur le modèle PER_Fiche. Le plus simple, si on ne veut pas réfléchir, est de mettre comme commande de bouton sur l'icône Liste "Activer modèle : PER_Liste".

C'est tout. Simple, net, efficace. Il faut tout de même faire remarquer que l'on a quelques modèles à équiper de la sorte... Et pareil dans l'autre sens (pour passer de _Liste à _Fiche)... Bon, l'exemple donné ici est à ranger dans la série des développements lilliputiens...

Moyen nettement plus réfléchi

On change de tactique et on réfléchi (aïe, les neurones !) :

  • On est sur PER_Fiche et on va vers PER_Liste
  • On est sur FAC_Fiche et on va vers FAC_Liste
  • On est sur INS_Fiche et on va vers INS_Liste

bref

  • On est sur XXX_Fiche et on va vers XXX_Liste
  • Donc on va vers "Les-trois-premières-lettres-du-modèle" et _Liste, et ce, quel que soit le modèle Fiche sur lequel on est...

Il faudrait donc pouvoir activer le modèle Liste via quelque chose comme :

C'est un méchant calcul de FileMaker Pro, totalement hermétique, qui prend les trois premières lettres du modèle actif, et concatène ("&") ces lettres avec "_Liste" pour obtenir le nom du modèle à activer. On suit ? Oui mais, est-ce possible d'introduire cet obscur calcul quelque part dans la commande ? Ben oui... :

Il y a en effet moyen d'activer un nom de modèle par calcul, au lieu de piquer le nom dans la liste des modèles,

et c'est alors la fenêtre de calcul, bien connue, qui s'ouvre. Reste ensuite à y introduire notre savant calcul :

Le calcul étant introduit, le bouton est actif, et gros avantage, peut être recopié tel quel sur l'ensemble des modèles Fiche, sans réfléchir ! Si on crée une nouvelle table, avec ses modèles Fiche et Liste, un simple copier/coller du bouton à partir d'un autre modèle suffit pour assurer la navigation entre les deux modèles !

Récapitulatif : en mode modèle, sur PER_Fiche, on sélectionne le (futur) bouton du modèle liste, on fait "Configuration du bouton", puis "Activer modèle". En face de "Définir", on choisit "Nom de modèle par calcul" (au passage, on apprécie le fait de ne pas avoir à sélectionner un modèle dans notre liste plutôt longue) dans le menu déroulant et on rentre le calcul : Debut (Obtenir ( NomModèle ) ; 3 ) & "_Liste"

On valide, on repasse en mode utilisation et on teste. Miracle, ça fonctionne parfaitement. Si ça ne fonctionne pas, c'est généralement parce que le calcul est mal écrit (attention aux " et à bien écrire "_Liste") ou alors que le nom du modèle est mal écrit (liste au lieu de _Liste, par exemple).

Et si on repassait en mode modèle pour faire la même chose sur notre (futur) bouton activant les modèles _Fiche ?
Il suffit de remplacer dans le calcul "_Liste" par "_Fiche' : Debut (Obtenir ( NomModèle ) ; 3 ) & "_Fiche".

Nous allons pouvoir copier ces boutons sur tous nos modèles... Mais, encore une fois, pour ne pas refaire trop de manipulations, créons d'abord les boutons suivants (page 2) ____

Navigation entre ancres


Si nous voulons fermer et bloquer la zone d'état, il faut permettre à l'utilisateur de se balader entre les tables, ou tout au moins entre les modèles accessibles.
Il existe des techniques très sophistiquées pour mettre cela en place, mais restons simples...
Partons du principe que, lorsqu'on quitte une table pour aller vers une autre, on atterrisse toujours sur le modèle Liste correspondant. Ainsi, l'utilisateur choisit son enregistrement et, à l'aide de l'icône "Fiche", atteint facilement la fiche désirée. S'il n'y a pas de modèle liste, alors on se dirige sur le modèle Fiche.

Pour ce faire, on construit une série de boutons placés bout à bout en tête des modèles "utilisateurs" (Fiche et Liste), à raison d'un bouton par table, et on note le nom "commun" d'une table dans chacun des boutons. C'est une barre de navigation :

A chacun des boutons, on affecte la commande "Activer modèle : XXX_Liste", où XXX est le trigramme de la table correspondante, ou, si et seulement si le modèle liste n'existe pas, activer modèle XXX_Fiche.

Lorsque la barre est complète, on peut aisément la copier entièrement et la coller dans tous les modèles utilisateurs, sans distinction.

Sur notre modèle actuel, PER_Fiche, notre barre de boutons est maintenant complète et bien rangée.

On peut la copier et la coller sur tous les modèles _Fiche ( et sur PAR_Ecole, qui est finalement un modèle fiche) de notre base en la plaçant à 0 pixels du haut et sur le bord gauche du modèle. On peut enlever tous nos essais préalables pour les remplacer par cette barre complète.

De retour sur le modèle PER_Fiche, on copie uniquement la barre de navigation entre les ancres, pour ensuite la placer bien comme il faut dans le modèle PER_Liste

Puis nous copions toute cette barre pour aller la coller dans tous les modèles listes, comme précédemment avec les fiches. Voilà un fichier qui prend forme...

La seule remarque à faire ici est que la barre de navigation est une des dernière choses à faire dans un développement, ou tout au moins lorsque toutes les tables sont créées avec un bon degré de certitude, ainsi que les modèles Liste. En effet, il est très désagréable de ré-adapter une barre de navigation à chaque table créée...

Reste plus qu'à tester si tout fonctionne comme prévu...

Vous remarquerez d'ailleurs que pour les modèles ne possédant pas de liste, le bouton censé l'activer ne modifie pas l'affichage. Ouf.

Et si maintenant, nous facilitions encore plus la navigation avec, par exemple un modèle menu d'ouverture ?

<==Outils graphiques ^ Modèles Modèle Menu - ouverture sur un modèle==>
Éditer - Historique - Imprimer - Changements récents - Rechercher
Page mise à jour le 29 juin 2008 à 21h26