Maîtrise des cercles d'options et des cases à cocher

Version 4

    Maîtrise des cercles d'options et des cases a cocher

     

    Saviez-vous que si vous cliquez sur des cercles d'options tout en maintenant la touche Maj enfoncée, vous pouvez sélectionner plusieurs choix ? (Ceci n'est plus valable en version 11)

     

    Mais, dans ce cas, comment procéder si vous souhaitez qu'une seule et unique option soit sélectionnée ?

     

    Avant de vous dévoiler la solution, voyons voir comment les cercles d'option (et les cases à cocher) fonctionnent dans FileMaker :

     

    Si vous sélectionnez uniquement Homme dans la base de données d'exemple, la rubrique Genre contient l'élément suivant :

    Homme

     

    Si vous sélectionnez à la fois Homme et Femme, FileMaker place chaque valeur sur sa propre ligne. La rubrique contient donc ce qui suit :

    Homme

    Femme

    NB : Chaque fois que vous cochez un nouvel élément, il est ajouté à la fin de la liste

     

    ----

    Bien sûr, il existe certainement un très grand nombre de moyens d'empêcher vos utilisateurs de faire cela : vous pouvez, par exemple, utiliser un calcul de validation.

    Mais comment faire pour arrêter l'utilisateur et faire en sorte qu'il ne choisisse pas de deuxième élément dès le départ ?

     

    L'astuce consiste à utiliser une entrée automatique par résultat de calcul.

    N'oubliez pas que lorsqu'un deuxième élément est sélectionné, il est ajouté à la fin de la liste.

     

    FileMaker ne désactive pas les autres éléments sélectionnés, mais vous le pouvez. Il vous suffit d'ajouter une entrée automatique par résultat de calcul dans la rubrique à protéger :

     

    ObtenirValeur(Contenu; DecompteValeurs(Contenu))

     

    De plus, vérifiez que vous décochez la case Ne pas remplacer val. exist. de la rubrique (s'il y a lieu) pour cette entrée automatique par résultat de calcul. Cette formule indique à FileMaker qu'il faut conserver la dernière valeur de la rubrique et supprimer toutes les autres.

     

    Remarque : Si vous n'utilisez pas FileMaker Pro 9 ou une version ultérieure, vous ne pourrez pas utiliser l'incroyable fonction Contenu présentée ici. Dans ce cas, remplacez simplement Contenu par le nom de la rubrique que vous essayez de protéger de toute double saisie.

     

     

    Remarque : Si vous n'utilisez pas FileMaker Pro 8 ou une version ultérieure, vous ne pourrez pas utiliser la fonction ObtenirValeur. Dans ce cas, vous devez utiliser la fonction ValeursFin et vérifier que vous avez supprimé le retour chariot final de son résultat.

     

    Lorsque votre utilisateur clique subrepticement sur un cercle d'option tout en maintenant la touche Maj enfoncée, FileMaker ajoute le choix à la fin de la liste. Le calcul supprime tout le reste.

     

    Au final, le cercle d'option fonctionne exactement comme si l'utilisateur n'avait pas appuyé sur la touche Maj.

     

     

    Autres astuces intéressantes :

     

     

    Vous pouvez étendre cette technique pour, au moins, une autre utilisation intéressante.

     

    Supposons qu'une rubrique ait été formatée en jeu de cases à cocher sur votre modèle. Ceci signifie normalement que l'utilisateur peut choisir autant d'éléments qu'il le souhaite. Mais vos instructions stipulent de procéder à trois choix dans la liste. Ou dix. Ou deux.

     

    Il existe deux calculs différents pour vous aider :

     

    Voici le premier :

     

    Definir ( vals = ValeursFin(Contenu; 3); Debut(vals; Longueur(vals) - 1 ))

     

    Ce calcul fonctionne d'une manière très similaire à la version des cercles d'option présentée ci-avant : il conserve les trois dernières sélections et supprime les plus anciennes.

    Toutefois, dans ce cas, puisque plusieurs valeurs sont souhaitées, il n'est pas possible d'utiliser la fonction ObtenirValeur. Vous devez donc utiliser la fonction ValeursFin pour conserver les trois dernières.

    La fonction ValeursFin place toujours un retour chariot à la fin de la liste, qu'il faut supprimer pour que tout soit correct. C'est précisément le but de la séquence Debut(vals; Longueur(vals) - 1 ))

     

    Puisque le calcul conserve les trois dernières valeurs, vous pouvez cliquer autant de fois que vous le souhaitez. FileMaker laisse les trois derniers éléments cochés et efface les X des autres éléments au fur et à mesure.

     

    Si vous choisissez d'utiliser le calcul suivant :

     

    Definir ( vals = ValeursDebut(Contenu; 3); Debut(vals; Longueur(vals) - 1 ))

     

     

    Alors FileMaker conserve les trois premières valeurs.

    Lorsque vous essayez de cliquer sur une quatrième valeur, FileMaker ne l'accepte pas. (En réalité, il l'accepte, met la rubrique à jour, puis la supprime aussitôt en raison du calcul. Mais, du point de vue de l'utilisateur, il apparaît simplement qu'il est impossible de faire un quatrième choix.)