formateur informatique

Guider la saisie utilisateur, exercice Access

Accueil  >  Bureautique  >  Access  >  Access Débutant  >  Guider la saisie utilisateur, exercice Access
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Masques de saisie, exercice Access

Dans ce sixième exercice Access, nous poursuivons la conception méticuleuse de notre base de données par les tables. Dans les précédentes mises en pratique, nous avons soigneusement typé les champs des tables. Nous les avons aussi dimensionnés et formatés. Désormais, il s'agit de créer des masques de saisie sur les champs qui le permettent. Les masques de saisie sont des guides qui contrôlent chaque caractère tapé. Ils permettent d'uniformiser et de sécuriser les informations attendues.

Base de données source
Il est important de capitaliser les efforts avec les résultats engrangés jusqu'alors. Nous devons donc commencer par réceptionner la base de données, fruit de nos travaux précédents. Le volet des objets Access, sur la gauche de l'écran, énumère les six tables qui composent la base de données à ce stade. Souvenez-vous, au fil des exercices, nous avons l'intention de créer une application complète de facturation avec gestion des stocks. Et il ne sera jamais question de code VBA.
  • Double cliquer sur la table Clients pour l'afficher en mode feuille de données,
Table Access des clients avec liste déroulante pour choisir la civilité

L'information attendue dans le champ Client_civilite est déjà uniformisée et sécurisée. C'est une liste déroulante, que nous avons construite dans l'exercice précédent, qui impose les choix. Un format contraint l'affichage des noms et villes en majuscules. Mais pour l'instant, aucune règle ne régit ni le champ Client_prenom, ni le champ Client_dep.

Guider et contrôler la saisie utilisateur
Nous l'avions évoqué, pour le prénom, nous souhaitons imposer la première lettre en majuscule et les suivantes en minuscules. Il s'agit donc de construire un masque guidant la saisie sur l'ensemble des caractères de ce champ. Le champ Client_dep, malgré son nom, attend un code postal. Un code postal est nécessairement composé de 5 chiffres. Nous devons donc bâtir un masque imposant la saisie d'un chiffre sur chacun des 5 caractères.
  • Dans le ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste, choisir Mode création,
Nous basculons ainsi en mode conception de table.
  • Sélectionner le champ Client_dep,
  • Dans sa propriété Masque de saisie en bas de la fenêtre, saisir l'expression : 00000,
  • Puis, valider avec la touche Entrée par exemple,
Masque de saisie Access pour imposer utilisateur de taper 5 chiffres pour code postal

Dans les masques de saisie, le symbole zéro (0) impose la saisie d'un chiffre (0 à 9). Comme l'indique la propriété Taille du champ, nous avions déjà limité sa taille à 5 caractères. Mais jusqu'alors, rien n'empêchait de taper une lettre à la place d'un chiffre. De plus, l'utilisateur pouvait très bien abandonner la saisie avant les 5 caractères. Désormais, grâce à ce masque de saisie, il doit taper l'information sur 5 caractères et chacun doit être un chiffre.
  • Sélectionner le champ Client_prenom,
La saisie est limitée à 30 caractères comme l'indique sa propriété Taille du champ. Un masque de saisie doit donc être codé sur ces 30 caractères potentiels. Il doit contrôler chaque lettre tapée. En effet, ce sont bien des lettres qui doivent être inscrites. Les chiffres ne sont pas autorisés. Les espaces en revanche doivent être permis, pour les prénoms composés par exemple. De plus, la première lettre doit être transformée en majuscule et les suivantes en minuscules.
  • Dans sa propriété Masque de saisie, saisir l'expression suivante :
>L<?????????????????????????????
  • Puis, valider avec la touche Entrée,
Masque de saisie Access pour imposer la saisie de lettres avec la première en majuscule et les suivantes en minuscules

Le symbole du L majuscule impose la saisie d'une lettre de l'alphabet. Comme il est préfixé du symbole supérieur (>), cette lettre sera automatiquement convertie en majuscule. Comme il est suivi du symbole inférieur (<), l'inscription se poursuit en minuscules. Le symbole du point d'interrogation autorise une lettre ou un espace. Mais il permet aussi de ne rien saisir à cet emplacement. Un prénom n'est en effet pas nécessairement composé de 30 lettres. Cette expression est donc constituée de 29 points d'interrogation puisque la taille du champ est limitée à 30 caractères.
  • Enregistrer les modifications (CTRL + S),
  • Puis, cliquer sur le bouton Affichage du ruban contextuel Création,
Nous revenons ainsi en mode feuille de données.

Guider et contrôler inscription des caractères dans champs de table Access par masques de saisie

Si vous tapez un prénom dans le champ Client_prenom, vous constatez en effet la transformation de la première lettre en majuscule. Si ce prénom est composé, l'espace est autorisé. De plus, le guide à la saisie autorise bien la validation bien que les 30 caractères n'aient pas été renseignés. En revanche, si vous tentez d'insérer un chiffre, vous remarquez que sa saisie n'est pas permise.

Concernant le code postal, si vous tentez de taper une lettre, elle n'apparaît pas. Et si vous essayez de valider un code postal composé de moins de 5 chiffres, une alerte se déclenche instantanément. Le message est sans appel. Selon la règle imposée par le masque de saisie, cette donnée n'est pas acceptée tant qu'elle n'est pas corrigée.

Fort de ces acquis, nous pourrions très bien décider de contrôler et sécuriser la saisie des noms et des villes. Il s'agit d'autoriser une lettre, un espace ou du vide (L ou ?) sur la longueur respective des champs. Dans les deux cas, le masque de saisie est identique :

L??????????????????????????????????????????????????
  • Cliquer sur la croix de l'onglet pour fermer la table Clients,
  • Dans le volet des objets Access, cliquer droit sur la table Commandes,
  • Dans le menu contextuel, choisir Mode création,
  • Dans la vue en conception, sélectionner le champ Com_date,
Il s'agit en effet du seul champ de cette table qu'il est nécessaire de contrôler. Les deux premiers représentent respectivement la clé primaire et la clé externe. Elles se gèrent automatiquement. Le type de données Monétaire du champ Com_montant, impose la saisie d'une information nécessairement numérique. Et comme la longueur d'un montant peut varier, il n'est pas nécessaire de le contrôler. Pour la date en revanche, nous souhaitons homogénéiser l'information avec une présentation bien précise : jj/mm/aaaaa. Nous souhaitons deux chiffres pour le jour, deux chiffres pour le mois et quatre chiffres pour l'année. Chaque groupe de chiffres doit être séparé d'un autre par le symbole du slash (/).
  • Dans sa propriété masque de saisie, saisir l'expression suivante : 00/00/0000,
  • Puis, valider avec la touche Entrée du clavier,
Nous l'avons appris précédemment, le symbole 0 dans un masque de saisie, impose d'inscrire un chiffre en lieu et place. Le slash (/) n'est pas interprété par les masques de saisie. En conséquence, il est restitué tel quel, après les deux chiffres pour le jour et après les deux chiffres pour le mois.
  • Enregistrer les modifications et basculer en mode feuille de données,
  • Puis, débuter la saisie dans le champ Com_date,
Masque de saisie pour guider inscription de date dans champ de table Access

Dès l'activation du champ, vous voyez apparaître le guide à la saisie, avec les deux slashs et les zones délimitées pour les chiffres. Bien sûr, si vous tapez une lettre de l'alphabet, rien ne se produit. Si vous tentez de valider une date incomplète, Access vous barre le chemin. La validation n'est pas autorisée puisque la date n'est pas en conformité avec la règle imposée par le masque de saisie.
  • Cliquer sur la croix de l'onglet pour fermer la table Commandes,
  • Dans le volet des objets Access, cliquer droit sur la table Communes,
  • Dans le menu contextuel, choisir Mode création,
  • Dans la vue en conception, sélectionner le champ Commune_dep,
  • Dans sa propriété Masque de saisie, taper l'expression : 00000,
Comme pour la table Clients, c'est bien un code postal qui est attendu. D'ailleurs, sa propriété Taille du champ limitée à 5 caractères en atteste. Nous imposons donc la saisie de chiffres sur 5 caractères.

Pour le champ Commune_nom, le même masque de saisie que celui du nom et de la ville de la table Clients peut être répliqué. Seules des lettres sont en effet attendues. De plus, la taille du champ est encore une fois limitée à 50 caractères.
  • Fermer la table Communes et afficher la table Produits en mode création,
Nous ignorons en effet la table Detail_commandes. Les deux premiers champs y représentent respectivement la clé primaire et la clé externe. La remise est contrôlée par le type de données monétaire. Il en va de même pour la quantité qui impose la saisie d'informations numériques entières. Il reste le champ Det_ref. Mais sur ce dernier, aucune règle de saisie ne peut vraiment être appliquée. Les lettres, les chiffres et même les tirets sont autorisés. De plus, la longueur est variable.

Le champ produit_ref est la clé primaire à lier avec le champ Det_ref de la table Detail_commandes. Pour les mêmes raisons, aucune règle pertinente ne le concerne. Et hormis le champ Produit_nom, tous les autres sont typés en numérique. Comme ils proposent des longueurs non définies à l'avance, il n'est pas nécessaire de s'y attarder.

Le nom est en réalité une désignation. Et cette désignation peut proposer des chiffres indiquant la taille du modèle. Nous devons donc bâtir un masque de saisie acceptant les lettres, espaces et chiffres.

Le symbole A impose la saisie d'une lettre ou d'un chiffre. Le même symbole mais en minuscule (a) autorise la saisie d'une lettre ou d'un chiffre. Les espaces sont donc acceptés. Les masques de saisie que nous avons à construire pour cette base de données, sont donc relativement simples. Mais nous allons en profiter pour faire une petite découverte. Access propose un assistant pour dicter des règles de saisie sur des champs plus complexes. Vous en conviendrez, guider et contrôler la saisie d'une adresse mail ou d'un numéro de sécurité sociale s'avère plus périlleux.
  • Dans la vue en conception, sélectionner le champ produit_nom,
  • Puis, cliquer dans la zone de sa propriété Masque de saisie,
  • A l'extrémité droite, cliquer sur le petit bouton qui se propose,
Assistant Access pour aider à construire les masques de saisie des champs plus complexes à contrôler

L'assistant masque de saisie se déclenche. Et des règles sont proposées par défaut pour contrôler les numéros de téléphone ou de sécurité sociale par exemple.
  • Plus bas dans la liste, sélectionner le masque de saisie Code Postal (France),
Quelques lignes plus bas, comme vous le remarquez, un masque de saisie est proposé pour les mots de passe. En revanche, aucune règle n'est proposée pour contrôler la conformité des adresses mail. Nous y reviendrons en temps voulu.
  • Cliquer sur le bouton Suivant,
L'expression proposée par l'assistant est strictement identique à celle que nous avons bâtie : 00000.
  • Cliquer sur le bouton Annuler et fermer la table Produits,
Etant donnée la taille du champ, nous préférons en effet contrôler la conformité de la saisie des désignations d'une autre manière. Rendez-vous donc dans les prochains exercices.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn