Jump to content
  • entries
    69
  • comments
    19
  • views
    7647

Contrôle ! Vos papiers s'il vous plaît !


David Julot

702 views

 Share

Cette semaine, je vais aborder le douloureux problème des contrôles… Comment vérifier que l’utilisateur a saisi correctement telle ou telle valeur.

Il existe pour cela plusieurs techniques et je vais essayer de vous en présenter plusieurs. Évidemment, cette liste n’est pas exhaustive, et il se peut que j’en oublie. N’hésitez pas à ajouter, en commentaire, vos méthodes, elles seront les bienvenues.

FileMaker Pro a la capacité de vérifier qu’une saisie effectuée par l’utilisateur réponde à des critères très précis. Les techniques que je vais évoquer font pratiquement toutes appel aux options de contrôle des rubriques.

 

Les options de contrôle des rubriques

Pour mettre en place les options de contrôle des rubriques, il faut :

  1. Ouvrir le fichier (si ce n’est pas encore fait) ;
  2. Choisir l’article de menu Fichier > Gérer > Base de données… ;
  3. Choisir l’onglet Rubriques ;
  4. Sélectionner la table contenant la rubrique à contrôler dans le menu local table ;
  5. Sélectionner la rubrique à contrôler ;
  6. Cliquer sur le bouton Options… ;
  7. Choisir l’onglet Contrôle.

INFO : si vous n’avez pas la version 9 de FileMaker Pro, pour l’étape 2 il faut choisir l’article de menu Fichier > Définir > Base de données…

Et là on se retrouve face à la boîte de dialogue de mise en place et de paramétrage des contrôles. Nous trouvons les options suivantes :

  • Type de données :
    • numérique uniquement : dans le cas d’une rubrique de type nombre, on a la possibilité par défaut de saisir du texte. Si cette option est cochée, alors seuls les 9 chiffres, le zéro, l’espace et la virgule seront acceptés. Je parle ici pour un format de nombre du système à la française.
    • année à quatre chiffres : dans le cas d’une rubrique de type date, rend obligatoire la saisie à quatre chiffres de l’année d’une date.
    • heure du jour : dans le cas d’une rubrique de type heure, rend obligatoire la saisie d’une heure comprise entre 00:00:00 et 23:59:59.
  • Non vide : rend obligatoire la saisie dans la rubrique, elle ne peut être vide.
  • Valeur unique : interdit la saisie d’une valeur qui a déjà été saisie sur un autre enregistrement, évite les doublons.
  • Valeur existante : rend obligatoire la saisie d’une valeur qui a déjà été saisie sur un autre enregistrement. Je vous avoue que je n’ai jamais vu utiliser cette option.
  • Élément de la liste de valeurs : vérifie que la valeur saisie est égale à un item d’une liste de valeurs. Ne permet pas l’affichage d’une liste de valeurs sur la rubrique.
  • Entre : dans le cas de rubriques de type nombre, date ou heure, rend obligatoire la saisie d’une valeur comprise entre la valeur minimale et la valeur maximale.
  • Contrôle par le calcul : permet de définir une formule de calcul, généralement une condition, pour valider la saisie. Voir l’exemple ci-après.
  • Nombre maximal de caractères : interdit à l’utilisateur de saisir plus de n caractères dans la rubrique.

Après ce bref descriptif des contrôles proposés par FileMaker Pro, si vous souhaitez en savoir plus, je vous invite à lire l’aide de FileMaker Pro ici. Mais voyons maintenant quelques exemples.

 

Interdire le retour à la ligne

Il existe principalement deux méthodes pour interdire les retours à la ligne (retour chariot) lors d’une saisie d’un texte.

1ère méthode : par le contrôle

La première méthode fait appel aux options de contrôle de la rubrique. Oui, mais voilà, il n’y a pas d’option par défaut qui interdise la saisie du retour à la ligne dans une rubrique. Pour cela nous allons utiliser l’option Contrôle par le calcul, et utiliser la formule suivante :

// formule pour les versions antérieures à FileMaker Pro 9 : 
OCCURRENCES( rubrique à contrôler ; "¶" ) = 0
 
// formule pour FileMaker Pro 9 : 
OCCURRENCES( Contenu ; "¶" ) = 0


Pour information, Contenu est un constante apparue dans FileMaker Pro  qui fait directement référence à la valeur de la rubrique en cours. Cela permet d’avoir une formule que l’on peut copier et coller pour d’autre rubrique sans que l’on ai besoin de modifier la formule. Le seul endroit où on ne peut pas utiliser Contenu c’est dans les formules personnalisées.

Je n’aime pas cette méthode, car elle correspond pour moi à taper sur les doigts de l’utilisateur. Je préfère la deuxième méthode.

2e méthode

Cette deuxième méthode ne fait pas appel aux options de contrôle de la rubrique, mais aux paramétrages de comportement de la rubrique pour le modèle. Généralement, lorsque nous voulons interdire le retour à la ligne dans une rubrique, c’est parce que l’utilisateur pense pouvoir passer à la rubrique suivante en tapant sur la touche retour, et à ce moment qu’il insère par mégarde un retour à la ligne dans la rubrique.

Nous allons donc changer le comportement de la rubrique pour demander à FileMaker Pro de passer à la rubrique suivante lors de l’appui sur la touche retour. En sachant que la procédure suivante n’est valable que depuis la version 7 de FileMaker Pro :

  1. Choisir l’article de menu Affichage > mode modèle ;
  2. Sélectionner la rubrique ;
  3. Choisir l’article de menu Format > Rubrique/Contrôle > Comportement… ;
  4. Cocher l’option Touche Retour ;
  5. Cliquer sur le bouton OK ;
  6. Choisir l’article de menu Affichage > mode utilisation.

C’est ce que j’appelle la « méthode douce » car l’utilisateur ne voit pas apparaître à l’écran un message d’alerte.

 

Rendre obligatoire la saisie de n caractères

Il existe une option qui interdise la saisie de plus de n caractères, ce qui permet à l’utilisateur d’en saisir moins. Alors, comment rendre obligatoire la saisie de n caractères, ni plus ni moins. Pour cela, nous allons utiliser une fois de plus l’option Contrôle par le calcul.

Nous allons simplement utiliser la formule suivante :

// formule pour les versions antérieures à FileMaker Pro 9 : 
LONGEUR( rubrique à contrôler ) = 5
 
// formule pour FileMaker Pro 9 : 
LONGEUR( Contenu ) = 5

Si nous souhaitons bien évidemment limiter la saisie à cinq caractères.

 

Éviter la saisie de doublon

C’est la demande la plus fréquente et la plus difficile à répondre. En effet, pour certain, le doublon n’est juste qu’une même valeur saisie dans la même rubrique, pour d’autre c’est plusieurs valeurs de l’enregistrement qui rentre en ligne de compte.

Mais pour aujourd’hui, je me limite qu’à une valeur.

1ère méthode

Cette première méthode fait simplement appel à l’option Valeur unique des options de contrôle de la rubrique. Donc pas d’explication supplémentaire.

2e méthode

La deuxième que je propose fait appel à une fonctionnalité apparue avec FileMaker Pro 8 : la saisie prédictive. En effet, lorsque l’utilisateur débute sa saisie, FileMaker Pro complète automatiquement la valeur. Donc si l’utilisateur voit apparaître la valeur, il peut s’arrêter de saisir, il n’attend donc pas de valider l’enregistrement pour s’apercevoir qu’il existe un doublon.

Pour mettre en œuvre cette fonction :

  1. Choisir l’article de menu Affichage > mode modèle ;
  2. Double-cliquer sur la rubrique ;
  3. Cocher l’option Compléter automatiquement à l’aide des valeurs précédemment saisies ;
  4. Cliquer sur OK ;
  5. Choisir l’article de menu Affichage > mode utilisation.

3e méthode

Pour ceux qui veulent aller encore plus loin, on peut demander à FileMaker Pro d’exécuter un script, dès que la rubrique a été saisie, pour vérifier qu’il n’y a pas de doublon. Il faut pour cela utiliser un plug-in (module) complémentaire. Je vous suggère d’utiliser EventScript de Softwares for Humans, disponible à cette adresse : http://www.softs4humans.com/FMPro_Plugins_fr.html

Pour que le script s’exécute en sortie de rubrique, nous allons utiliser non pas les options de contrôle mais les options d’entrée automatique :

  1. Choisir l’article de menu Fichier > Gérer > Base de données… ;
  2. Choisir l’onglet Rubriques ;
  3. Sélectionner la table contenant la rubrique à contrôler dans le menu local table ;
  4. Sélectionner la rubrique à contrôler ;
  5. Cliquer sur le bouton Options… ;
  6. Choisir l’onglet Entrée automatique ;
  7. Cocher l’option Résultat de calcul et saisir la formule suivante :
    S4HU_EventScript( Obtenir ( NomFichier ) ; script ; "" ) & rubrique
    
    //pour FileMaker Pro 9 :
    S4HU_EventScript( Obtenir ( NomFichier ) ; script ; "" ) & Contenu

     

  8. Cliquer sur le bouton OK ;
  9. Décocher l’option Ne pas remplacer val. exist. de la rubrique (s’il y a lieu) ;
  10. Cliquer sur le bouton OK.

 

C’est tout pour aujourd’hui

Si vous souhaitez faire profiter de vos méthodes, exemples ou autres n’hésitez pas à les communiquer ci-après dans les commentaires.

En attendant dimanche prochain, je vous souhaite une excellente semaine.

 Share

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...