QR 83 – Une rubrique bridée de manière conditionnelle dans FileMaker

Quelle que soit la méthode, lorsqu’on empêche la saisie dans une rubrique, par défaut, cette rubrique est bridée de manière définitive, c’est-à-dire en toute circonstance.

Or Jean-Michel pose la question suivante :

Je cherche le moyen d’empêcher la saisie dans les rubriques à partir d’une condition et sans passer en mode Modèle. 

Pour réaliser cela, on ne peut donc pas compter sur ce que nous propose FileMaker par défaut (1). Il faut alors faire appel à notre imagination et à tous les outils que FileMaker met à notre disposition…

Une solution pour brider une rubrique de manière conditionnelle…

On peut trouver une solution à l’aide d’un script. Mais on peut sans doute faire un peu plus simple…

Imaginons que nous ayons une rubrique Prenom et une rubrique Nom.

Tant que la rubrique Nom est vide, on doit pouvoir saisir dans Prenom. Dès qu’elle contient une valeur, la rubrique Prénom doit être bridée…

Pour obtenir ce résultat, créez une deuxième rubrique Prenom, que vous nommez Prenom_c. C’est une rubrique de calcul, renvoyant un résultat de type texte et dont le calcul consiste tout simplement à récupérer la valeur de la rubrique Prenom (2).

BridCal

Or, on ne peut pas saisir dans une rubrique de calcul 😉

Sur votre modèle, posez les trois rubriques Prenom, Prenom_c et Nom.

Sélectionnez la rubrique Prenom et depuis l’Inspecteur > Données > Comportement, définissez Masquer objet quand par :

Not EstVide ( BriderRubrique::Nom )

Sélectionnez la rubrique Prenom_c et depuis l’Inspecteur > Données > Comportement, définissez Masquer objet quand par :

EstVide ( BriderRubrique::Nom )

Le badge Oeil est apparu au coin inférieur droit de vos deux rubriques Prenom et Prenom_c et avant d’entreprendre la dernière modification, vous pouvez vérifier en mode Utilisation que cela marche. Et c’est bien le cas !

ResultMask

Revenez en mode Modèle et superposez les deux rubriques l’une au-dessus de l’autre. L’utilisateur ne saura jamais qu’il a affaire ici à deux rubriques et nous obtenons bien le résultat souhaité par Jean-Michel 😉

Un dernier détail à résoudre…

Si l’utilisateur cherche à modifier le contenu de la rubrique Prenom_c, que se passe-t-il ?

Nous avons dit plus haut qu’on ne peut pas modifier une rubrique de calcul. C’est vrai. Mais par défaut, on peut néanmoins cliquer dans une telle rubrique et chercher à en modifier le contenu. Dans ce cas, FileMaker affiche une alerte… qui en fait, nous gêne car elle n’est pas parlante pour l’utilisateur. Et plutôt que de lui dire après coup qu’il ne peut rien saisir, il vaudrait mieux que d’emblée, il ne le puisse pas !

Alors, ici, la solution est toute simple !

Par défaut, pour FileMaker, on peut saisir dans une rubrique, en mode Utilisation et en mode Recherche. Or, ce paramètre peut être modifié 😉

En mode Modèle, sélectionnez la rubrique Prenom_c et dans l’Inspecteur > Données > Comportement, décochez Mode Utilisation. Conservez Mode Recherche, car l’utilisateur doit pouvoir faire des recherches.

BridRubrMod2

Permutez ensuite en mode Utilisation : vous constatez que l’on ne peut même plus cliquer dans la rubrique Prenom_c 😉

Et en mode Recherche ?

Les deux rubriques sont accessibles et saisissables en mode Recherche (sauf bien entendu si on les a bridées). La recherche fonctionne parfaitement dans l’une ou l’autre rubrique. Peu importe donc celle qui est devant et dans laquelle l’utilisateur saisit sa requête 😉

Marie-Charlotte Potton

 

(1) On pourrait à la rigueur imaginer utiliser une option de validation de la rubrique concernée. Mais en réalité, nous évitons en règle générale les options de validation des rubriques car celles-ci affichent des alertes par défaut par FileMaker qui bien souvent, nous gênent et sont mal comprises par les utilisateurs…

(2) Nous utilisons ici une rubrique de calcul. Nous aurions pu également utiliser une rubrique de type texte avec en entrée automatique un résultat de calcul utilisant notre formule de calcul. Les deux sont justes. Dans certains cas, il vaut mieux utiliser une rubrique de calcul, dans d’autres, une rubrique avec résultat de calcul. L’une des différences entre les deux est qu’une rubrique avec résultat de calcul mémorise un résultat du calcul et est donc modifiable comme n’importe quelle rubrique de type texte, nombre ou date… Dans notre exemple, il faut donc la rendre non saisissable comme nous le montrons sur la rubrique de calcul Prenom_c en fin d’article.

Tags: , ,

Merci de laisser un commentaire (1 commentaire )

  1. Cela ne nous arrive pas souvent mais…
    En rédigeant cet article, s’est glissé une erreur. Ou plus exactement, une imprécision.
    Comme en témoignent les copies d’écran qui illustrent parfois les articles que je publie, je teste toujours les solutions techniques que je propose. Cet article ne fait pas exception à la règle.
    Mon idée d’origine était d’utiliser uniquement la rubrique Prénom, de la dupliquer sur le modèle et d’attribuer à l’une l’un des deux calculs pour la masquer, à l’autre l’autre calcul.
    Cela aurait dû marcher. Pourquoi cela n’a pas été le cas, je l’ignore…
    Or, j’ai refait le test ce matin, et cette fois-ci, cela marchait 😉
    Alors, milles excuses pour cette erreur : c’est bien plus simple d’utiliser la même rubrique que de créer une rubrique de calcul intermédiaire :-(