formateur informatique

Interdire la saisie de chiffres dans un mot de passe Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Interdire la saisie de chiffres dans un mot de passe Access
Livres à télécharger


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

Abonnez-vous gratuitement à la chaîne Youtube Rossetti Stéphane .
Sujets et formations similaires :


Interdire la saisie des chiffres

Sur un formulaire d'inscription ou d'identification, des normes de saisie peuvent être imposées pour l'identifiant et le mot de passe. Avec cette nouvelle astuce Access, nous allons apprendre à contrôler la saisie d'un mot de passe pour qu'il ne soit composé que de lettres et celle d'un identifiant pour qu'il ne contienne que des chiffres.



Base de données source
Pour la mise en place de cette nouvelle astuce, nous suggérons de récupérer une petite base de données existante. En consultant le volet de navigation sur la gauche de l'écran, vous constatez que cette base de données n'est pour l'instant constituée que d'une seule table.
  • Double cliquer sur cette table Utilisateurs pour l'afficher en mode Feuille de données,
Table Access des utilisateurs pour informations de connexion aux comptes personnels

Les utilisateurs d'une application sont détaillés sur cinq champs. Ce sont les deux derniers qui nous intéressent : U_id et U_mp. Ils concernent respectivement l'identifiant et le mot de passe de connexion.

Interdire la saisie de chiffres
Ici, nous partons du principe que les mots de passe ne doivent être composés que de lettres. Les chiffres ne sont pas autorisés. L'astuce consiste à construire une règle de validité exploitant les expressions régulières. Comme vous le savez, le contrôle d'une règle de validité agit en aval de la saisie. Les capacités des expressions régulières en conception de table ne sont certes pas aussi puissantes qu'en programmation. Mais une ruse va nous permettre de contourner certains manquements.
  • A gauche du ruban Accueil, cliquer sur le bouton Affichage,
Nous basculons ainsi dans la vue en conception de la table Utilisateurs.
  • Cliquer sur le champ U_mp pour le sélectionner,
  • En bas de la fenêtre, cliquer dans la zone de son attribut Valide si,
  • Taper l'opérateur Comme suivi d'un espace,
Cet opérateur annonce la forme remarquable attendue pour la suite de la saisie.
  • Puis, inscrire l'expression suivante sans oublier les guillemets : '[a-zA-Z]*',
L'expression régulière est inscrite entre crochets. Elle indique que seules les lettres de l'alphabet sont autorisées, qu'il s'agisse de minuscules (a-z) ou de majuscules (A-Z). Mais ce contrôle n'est opéré que sur le premier caractère, en atteste la présence de l'étoile qui suit. Cet astérisque stipule que ce qui suit importe peu. Or, nous souhaiterions imposer la saisie d'un mot de passe sur au moins cinq lettres sans chiffre. Il suffit de démultiplier l'expression régulière.
  • Adapter la précédente expression comme suit :
Comme '[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]*'

Cette fois, les cinq premiers caractères doivent nécessairement être des lettres. Nous pourrions d'ailleurs autoriser d'autres caractères en dehors des chiffres en les ajoutant dans l'énumération :

Comme '[a-zA-Z*!?][a-zA-Z*!?][a-zA-Z*!?][a-zA-Z*!?][a-zA-Z*!?]*'

Dans cette forme, sur les cinq premiers caractères, sont autorisés les lettres de l'alphabet ainsi que l'astérisque, le point d'exclamation et le point d'interrogation. Mais pour la suite, du fait de la présence de l'étoile, toute saisie est permise, y compris les chiffres. Sa présence est justifiée par le fait que nous ne souhaitons pas limiter la saisie d'un mot de passe à cinq caractères. Or, le symbole du plus entre accolades ({+}) ou les chiffres de répétition entre parenthèses (5), usuels dans les expressions régulières, ne sont pas disponibles en conception de table. Il suffit simplement de recouper cette première expression avec une seconde qui indique tout ce qui est proscrit.
  • A la suite de l'expression taper un espace suivi de l'opérateur ET, suivi d'un espace,
  • Puis, inscrire l'opérateur Pas Comme suivi d'un espace,
Il annonce la forme remarquable à suivre qui ne doit pas être trouvée dans la saisie. En ce qui nous concerne, tout chiffre est proscrit.
  • Ajouter l'expression suivante entre guillemets : '*[0-9]*',
L'énumération entre crochets représente tout chiffre, de zéro à neuf. Comme cette expression est encadrée d'astérisques, elle indique que quelle que soit sa position, aucun chiffre ne doit être trouvé. Et bien sûr, si d'autres caractères sont proscrits, il suffit des les ajouter à la suite de l'énumération, avant le crochet fermant.
  • Valider cette expression avec la touche Entrée du clavier,
  • Enregistrer les modifications par le raccourci clavier CTRL + S,
Une alerte se déclenche fort logiquement car des données ont antérieurement été inscrites dans ce champ. Et elles sont susceptibles de ne plus correspondre avec les normes imposées par cette règle de validité.
  • Valider la première alerte puis la seconde en cliquant sur le bouton Oui,
  • A gauche du ruban création, cliquer sur le bouton Affichage,
Rappelez-vous, une règle de validité contrôle la saisie en aval. C'est la raison pour laquelle toutes les anciennes saisies de mot de passe sont conservées, malgré leur non-conformité. Mais désormais, toute nouvelle inscription va être scrutée.

Si vous tapez un mot de passe constitué de lettres mais en-dessous de cinq caractères, une alerte se déclenche au moment de la validation. Elle refuse la saisie. Si vous tapez un mot de passe de plus de cinq lettres mais hébergeant au moins un chiffre, la sentence est la même.

Imposer la saisie du mot de passe avec seulement des lettres sur au moins cinq caractères grâce à une expression régulière dans Access

Si vous tapez un mot de passe, uniquement composé de lettres et dépassant les cinq caractères, l'inscription est autorisée. Bien sûr, vous pouvez aussi vous permettre les points d'interrogation et d'exclamation ainsi que le symbole de l'astérisque.

La syntaxe de la règle de validité que nous avons construite est la suivante :

Comme'[a-zA-Z*!?][a-zA-Z*!?][a-zA-Z*!?][a-zA-Z*!?][a-zA-Z*!?]*' Et Pas Comme '*[0-9]*'

Comme vous le savez et à toutes fins utiles, le message de l'alerte peut être personnalisé grâce à l'attribut Message si erreur, situé juste en-dessous de l'attribut Valide si, en conception de table.



Autoriser uniquement la saisie de chiffres
Désormais, nous souhaitons contrôler la saisie de l'identifiant. Il doit comporter au moins cinq caractères et chacun d'entre eux doit être un chiffre. Toute lettre de l'alphabet ou tout autre caractère est proscrit. Le principe est le même mais le contrôle est inversé.
  • A gauche du ruban Accueil, cliquer sur le bouton Affichage pour revenir en conception,
  • Cliquer sur le champ U_id pour le sélectionner,
  • Dans la zone Valide Si, taper la syntaxe suivante :
Comme'[0-9][0-9][0-9][0-9][0-9][0-9]*' Et Pas Comme '*[a-zA-Z]*'

Nous contrôlons que les cinq premiers caractères sont nécessairement des chiffres compris entre 0 et 9, peu importe ce qui suit. C'est ainsi que l'utilisateur peut créer un identifiant numérique pas forcément limité à cinq chiffres. Et pour empêcher l'insertion de lettres, nous exploitons l'opérateur Pas Comme pour déclencher l'expression régulière appropriée.
  • Valider cette syntaxe par la touche Entrée du clavier,
  • Enregistrer les modifications (CTRL + S),
  • Valider les deux alertes qui suivent avec les boutons Oui,
  • Cliquer sur le bouton Affichage à gauche du ruban Accueil pour passer en feuille de données,
Désormais, si vous tapez un identifiant exclusivement numérique sur moins de cinq caractères, l'inscription est refusée à validation. Il en va de même si une lettre de l'alphabet ou tout autre caractère est glissé dans l'énumération.

Saisie identifiant refusée dans table Access car présence de lettres avec des chiffres

En revanche, la saisie est acceptée dès lors que l'inscription exclusivement numérique atteint au moins les 5 chiffres. Enfin et comme vous le savez, les tables sont les outils de construction de la base de données. Ces réglages sont donc nécessairement répercutés sur tous les objets qui les exploitent. Ainsi, si vous construisez un formulaire à partir de la table Utilisateurs, les saisies des identifiants et mots de passe seront bien contrôlées par les règles de validité que nous venons de construire.



Contrôler la conformité des identifiants et mots de passe sur un formulaire Access grâce aux expressions régulières

 
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