formateur informatique

Masque de saisie et formatage des champs de table de base de données

Accueil  >  Bureautique  >  Access  >  Access Débutant  >  Masque de saisie et formatage des champs de table de base de données
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 :


Aides à la saisie et formatage dans les tables Access
Ici nous abordons les techniques Access qui permettent, en création de table, d'aider à la saisie ainsi que de formater pour homogénéiser les données. Nous verrons de même que nous pouvons restreindre la saisie avec des listes déroulantes et interdire certains caractères pour éviter les erreurs. Nous allons récupérer une petite base de données pour réaliser les manipulations :
  • Télécharger la base de données debuter.accdb en cliquant sur ce lien,
  • L'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu si l'avertissement de sécurité se déclenche,
Il s'agit d'une petite base de données de facturation, en cours de création. Elle est constituée de deux tables : Clients et Commandes. Ces deux tables sont reliées entre elles avec l'intégrité référentielle pour la correspondance entre les commandes et les clients.
  • Dans le volet de gauche, cliquer avec le bouton droit de la souris sur la table Clients,
  • Dans le menu contextuel, cliquer sur Mode création,
Nous basculons ainsi dans la vue qui permet la création et le paramétrage des champs de la table.

Formatage des champs
Nous souhaitons que les noms des clients soient toujours affichés en majuscules. Ainsi nous homogénéiserons l'apparence des données. Pour ce faire :
  • Sélectionner le champ clients_nom,
  • Dans l'onglet général en bas de la fenêtre, taper le symbole > dans sa propriété Format,
  • Enregistrer cette modification (CTRL + S),
  • Cliquer sur le bouton Affichage en haut à gauche dans le ruban Accueil,
Format majuscules, champ table Access
Vous basculez ainsi en mode feuille de données, soit la saisie dans la table.
  • Créer un nouvel enregistrement en tapant volontairement le nom du client en minuscules,
Dès lors que vous enfoncez la touche tabulation, vous remarquez que votre saisie se formate automatiquement en majuscules. Nous souhaitons la même contrainte de mise en forme sur le champ clients_ville.
  • Cliquer de nouveau sur le bouton Affichage pour revenir en mode création,
  • Sélectionner le champ clients_ville et lui attribuer un format majuscules,
  • Sauvegarder (CTRL + S) et revenir en mode saisie de données,
Vous constatez que toutes les villes sont désormais formatées en majuscules.
  • Fermer la table Clients et ouvrir la table Commandes en mode création,
Nous souhaitons désormais que les montants des commandes s'affichent en Euro. Il s'agit de nouveau d'un format.
  • Sélectionner le champ Commandes_total,
  • Régler le format sur Monétaire comme l'illustre la figure ci-dessous,
  • Enregistrer ces modifications,
  • Basculer en mode saisie,
Format monétaire pour un champ de montant total
Vous remarquez entre autres que tous les montants sont bien formatés dans la devise choisie. Maintenant, nous souhaitons pour le champ prénom, que la première lettre soit en majuscule et les suivantes en minuscules. Il ne s'agit plus d'un format. En effet un format agit unilatéralement sur l'ensemble du champ. Il s'agit désormais d'un masque de saisie. Un masque de saisie guide l'utilisateur ou précise sur chacun des caractères tapés, ce qui est attendu.

Les masques de saisie
  • Fermer la table Commandes et ouvrir la table Clients en mode création,
  • Sélectionner le champ clients_prenom,
Celui-ci est dimensionné à 25 caractères. Nous devons donc construire un masque de saisie qui indique quels sont les caractères attendus sur une longueur totale de 25.
  • Cliquer dans la Propriété Masque de saisie dans l'onglet Général,
  • Taper le masque suivant : >?<????????????????????????,
Masque de saisie Access pour la première lettre en majuscule
Le point d'interrogation signifie que le caractère attendu est inconnu et qu'aucune restriction n'est posée dessus. Le premier est précédé du symbole supérieur. Il est donc contraint en majuscule. Les 24 suivants sont précédés du symbole inférieur, ils sont donc contraints en minuscules.
  • Enregistrer cette modification et basculer en mode feuille de données,
  • Ajouter un nouvel enregistrement et saisir en majuscules ou minuscules le prénom,
Dans le champ prénom, vous notez la présence d'une ligne guide matérialisant le masque de saisie. Que vous soyez en majuscules ou en minuscules, la saisie est forcée telle que nous l'avons décidée. Désormais, pour la date, nous souhaitons indiquer que nous voulons une saisie du type 12/12/2016. Le symbole d'un masque de saisie qui n'autorise que des chiffres est le 0.
  • Basculer de nouveau en mode création,
  • Sélectionner le champ clients_dateN,
  • Dans son masque de saisie, taper 00/00/0000,
  • Sauvegarder et basculer en mode Feuille de données,
  • Taper un nouvel enregistrement,
Au moment de débuter la saisie de la date, vous voyez un guide apparaître. La saisie de lettres n'est pas autorisée. Vous ne pouvez pas dépasser le nombre prescrit par le masque. Et des slash (/) apparaissent pour délimiter les jours des mois et de l'année.
Masque de saisie Access pour un champ Date

Occupons-nous maintenant du champ clients_cp. Un code postal est nécessairement composé de 5 chiffres, ni un de plus, ni un de moins. Nous avons vu que le 0 dans un masque, impose la saisie d'un chiffre.
  • Basculer de nouveau en mode création,
  • Sélectionner le champ clients_cp,
  • Dans son masque de saisie, saisir le code suivant : 00000, soit 5 chiffres imposés,
  • Enregistrer et tester en mode Feuille de données,
Masque de saisie Access pour un code postal
Vous ne pouvez pas saisir de lettres. Vous ne pouvez saisir ni moins de 5 chiffres ni plus. Petit à petit nous construisons l'ossature de notre BD avec des règles de saisie et formats précieux.
  • Attribuer le masque de saisie 00/00/0000 au champ Commandes_date de la table Commandes,

Les listes de choix
Nous souhaitons ajouter un champ pour la civilité du client et proposer à l'utilisateur de choisir la civilité dans une liste déroulante.
  • Ouvrir la table Clients en mode création,
  • Cliquer avec le bouton droit de la souris sur l'étiquette de ligne du champ clients_nom,
  • Dans le menu contextuel, cliquer sur Insérer des lignes,
Insertion champ table Access
  • Nommer ce nouveau champ clients_civilite,
  • Dans la zone Type de données, choisir Assistant liste de choix,
  • Dans la boîte de dialogue, cocher la case Je taperai les valeurs souhaitées et cliquer sur Suivant,
  • Dans l'étape qui suit, taper les trois valeurs Mme, Mlle et Mr,
  • Cliquer sur Suivant,
  • Dans la dernière étape, conserver le nom d'étiquette proposé par défaut et cliquer sur Terminer,
  • CTRL + S pour sauvegarder,
Création liste déroulante pour champ table Access
  • Afficher la table Clients en mode Feuille de données,
  • Remplir le champ clients_civilite de chaque enregistrement à l'aide de la liste déroulante,
Liste de choix dans une table Access
Comme vous le constatez la liste est parfaitement fonctionnelle. Cependant, si vous tapez autre chose que les choix proposés, Access n'émet aucune opposition. Or nous aimerions que la saisie de ce champ soit limitée à ces propositions.
  • Basculer en mode création,
  • En bas de la page, cliquer sur l'onglet Liste de choix,
  • Fixer la propriété Limiter à liste sur Oui,
Restreindre saisie aux valeurs de la liste de choix
Ainsi, toute saisie qui ne correspond pas aux choix proposés sera refusée. Dans cet onglet, vous notez la présence d'autres informations. Ainsi la propriété Contenu rappelle les éléments de la liste de choix. Elle permet de la modifier manuellement. En ajoutant un point-virgule, vous pourriez très bien ajouter une valeur à cette liste.
  • CTRL + S pour sauvegarder,
  • Basculer en mode Feuille de données,
  • Dans le champ clients_civilite, tenter de saisir une valeur différente des choix de la liste,
Cette fois un message s'affiche. Access ne vous y autorise plus. Pour terminer avec ces listes de choix, souvenez-vous qu'Access vous proposait aussi de construire la liste sur des valeurs existantes. Dans ce cas, il aurait suffi de désigner la table source et sur cette table, le champ contenant les valeurs à restituer.

Les autres propriétés de champ
Pour parfaire la construction de notre petite base de données et nous assurer que nous guidons suffisamment les utilisateurs, nous allons définir d'autres propriétés. Ainsi dans certains cas, nous allons imposer la saisie et dans d'autres apposer des règles de validité. Par exemple, le champ clients_nom de la table Clients doit impérativement être renseigné. Une cellule vide ne doit pas être autorisée.
  • Afficher la table Clients en mode création,
  • Fixer sa propriété Null interdit sur Oui,
  • Si un message sur l'intégritéréférentielle s'affiche, cliquer sur Oui,
  • Enregistrer les modifications (CTRL + S),
  • Basculer en mode saisie,
  • Taper un nouveau client sans remplir le champ clients_nom,
  • Valider en passant sur un nouvel enregistrement,
Imposer la saisie par la propriété Null interdit
Access vous empêche de valider ce nouvel enregistrement tant que vous n'avez pas corrigé le problème en renseignant le nom. Par contre cette règle n'est pas rétroactive puisqu'elle n'intervient pas sur les enregistrements qui ont été créés en amont. Il est donc impératif de bien penser la construction de ses tables et de leurs champs dès le départ. Nous souhaitons maintenant sécuriser la saisie du champ commandes_total. La valeur doit nécessairement y être positive. Nous ne voulons pas de montants nuls.
  • Afficher la table Commandes en mode création,
  • Sélectionner le champ Commandes_total,
  • Régler la valeur de la propriété Valide si sur >0,
Notre règle est très claire. La saisie dans ce champ sera considérée comme valide si le montant tapé est bien un nombre plus grand que 0.
  • Taper un texte informatif dans la propriété Message si erreur du dessous,
Il s'agit du message qui se déclenchera suite à la saisie de l'utilisateur si celle-ci est erronée. C'est donc un moyen supplémentaire pour l'aider.
  • Enregistrer les modifications (CTRL + S),
  • Afficher la table Commandes en mode Feuille de données,
  • Saisir une nouvelle commande avec un montant égal à 0,
Attention de bien affecter cette commande à un client existant (Clients_num existant). Sinon l'intégrité référentielle se déclenchera comme nous l'avons déjà vu.
Règle de validité sur un champ de table Access
Votre message personnalisé se déclenche bien. Tant que le problème n'est pas corrigé, Access refuse de valider le nouvel enregistrement.
  • Cliquer sur Ok,
  • Attribuer un montant positif à cette nouvelle commande,
  • Valider l'enregistrement.
Cette fois Access le crée.

La propriété Indexé
Lorsque des champs sont indexés, la vitesse d'accès à ces données est augmentée. Seuls les champs importants doivent être indexés. Si vous les indexez tous, vous produisez l'effet inverse, les performances de la base de données se détériorent. Une clé primaire est indexée par défaut. Si vous ouvrez la table Clients en mode création, vous constaterez que le champ Clients_num a pour valeur Oui - Sans doublons. Une clé primaire est unique, l'ordre de tri commence par elle. Si votre base de données est volumineuse et que vous avez besoin de retrouver rapidement un client par son nom, vous indexerez ce champ :
  • Ouvrir la table Clients en mode création,
  • Sélectionner le champ clients_nom,
  • Régler sa propriété Indexé sur Oui - Avec doublons,
En effet les homonymes existent, les doublons sont autorisés dans ce champ.
  • CTRL + S pour sauvegarder,
Indexer un champ Access pour améliorer sa recherche
Lorsque la recherche sur un index conduit à des doublons et que vous souhaitez affiner la recherche, vous pouvez créer un index multi-champ pour améliorer les performances de la recherche au moment opportun. Par exemple, pour affiner la recherche sur le nom, la ville permettrait d'éliminer rapidement les clients qui ne correspondent pas à la demande. Pour ce faire :
  • Dans la section Afficher/Masquer du ruban Création, cliquer sur le bouton Index,
  • En dessous du champ clients_nom, choisir le champ clients_ville,
  • Conserver le tri Croissant,
Création index multi-champ, recherche Access
  • Fermer la boîte de dialogue,
  • Sauvegarder ces modifications (CTRL + S).
L'effet de ces modifications sera notable lorsque nous aurons fait grossir notre base de données et que nous commencerons à exécuter des requêtes sur les données. Nous y reviendrons donc.

 
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