formateur informatique

Contrôler la saisie d'un mail avec Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Contrôler la saisie d'un mail avec 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 :


Contrôler la saisie d'un mail

Veiller à l'intégrité et à la conformité des informations saisies dans les tables d'une base de données est l'un des enjeux les plus importants durant la phase de construction de l'application. Nous avons déjà appris à guider et contrôler les inscriptions de l'utilisateur grâce aux masques de saisie Access. Ces techniques, nous les avions déployées pour vérifier un code postal, un numéro de téléphone ou encore une date. Mais tous trois proposent des constructions tout à fait remarquables qu'il est simple d'examiner. Concernant le cas d'une adresse mail, la problématique est toute autre. Hormis quelques caractères imposés (@ et .), il n'y a pas de règle stricte. Nous apportons ici l'astuce pour valider ou réfuter l'inscription d'une adresse électronique dans un champ de table.

Source et procédure
Nous proposons d'appuyer les démonstrations sur une petite base de données offrant quelques informations à manipuler.
  • Télécharger le fichier valider-mail.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur le fichier résultant pour l'ouvrir dans Access,
  • Puis, cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation sur la gauche, double cliquer sur la table Commerciaux,
Table Access des commerciaux avec champ adresse mail à valider

Nous affichons ainsi son contenu en mode Feuille de données. Elle recense des vendeurs indépendants. Et pour chacun d'entre eux, vous constatez que l'information sur le mail est attendue. Ils ne sont pas tous renseignés pour que nous puissions réaliser des essais.
  • Tout à fait à gauche du ruban Accueil, cliquer sur le bouton Affichage,
Nous basculons ainsi en mode création de la table.
  • Cliquer sur la ligne du champ c_mail pour le sélectionner,
En consultant sa feuille de propriétés en bas de l'écran, vous notez que son attribut Masque de saisie n'est pas configuré. A ce stade donc, toute inscription est autorisée puisque non contrôlée. Très vite, nous pouvons donc nous retrouver avec des renseignements farfelus et erronés.

Masque de saisie non inscrit pour contrôler le champ du mail dans table Access

En consultant l'aide en ligne, nous savons que dans un masque de saisie :
  • Le caractère C représente n'importe quel caractère et son inscription est facultative,
  • Le caractère L représente une lettre et son inscription est obligatoire.
En connaissance de cause, et en prévoyant large, nous pourrions tenter une certaine expression.
  • Dans la zone Masque de saisie du champ, entrer l'expression suivante :
CCCCCCCCCCCCCCCCCCC\@LLLCCCCCCCCC\.LLC

Ainsi, nous prévoyons a priori suffisamment de caractères facultatifs pour le début de l'adresse. Après l'arobase, nous imposons la saisie d'au moins trois lettres et prévoyons des caractères supplémentaires selon le domaine. Enfin après le point, nous imposons deux lettres et en prévoyons une troisième pour les domaines du type (fr, com, be etc...).
  • Enregistrer les modifications puis cliquer sur le bouton Affichage du ruban,
Si vous tapez les premiers caractères pour le mail du vendeur 14 (Lile Maurice), le moins que l'on puisse dire est que le résultat n'est pas à la hauteur de nos attentes.

Masque de saisie incorrect pour un champ de type mail dans une table Access

Certes les premiers caractères sont facultatifs mais l'arobase à rejoindre est repoussée à la fin du décompte. Bref, un utilisateur aguerri sur les masques de saisie ne s'y serait pas trompé mais le doute était permis. Il convient donc d'abandonner l'inscription de l'adresse électronique avec la touche Echap du clavier.

Contrôler la validité d'un mail
En général, le masque de saisie s'applique à une entrée de donnée qui est bien structurée. Un numéro de téléphone, une date, une identification font l'affaire parce que l'on connaît le nombre de caractères à utiliser. Mais dans le cas où le nombre de ces caractères n'est pas connu à l'avance, l'astuce consiste à réaliser un contrôle en aval, soit à validation de la saisie, grâce à une règle de validité.
  • Dans le ruban Accueil, cliquer de nouveau sur le bouton Affichage pour revenir en création,
  • Sélectionner le champ c_mail,
  • Puis, supprimer l'expression tapée dans sa propriété Masque de saisie,
  • En dessous, dans sa propriété Valide Si, taper l'expression suivante :
Comme "*?@?*.?*" Et Pas Comme "*[ ,;]*"

Cette technique s'apparente à celles exploitant les expressions régulières. Grâce à l'opérateur Comme et au caractère générique de l'astérisque, nous cherchons à déceler la présence de l'arobase puis du point dans la chaîne, quels que soient les caractères placés avant et après. Grâce au caractère générique du point d'interrogation, nous nous assurons tout de même de la présence réelle d'un caractère avant et après ces symboles. De la sorte, nous n'autorisons pas les adresses commençant par le symbole de l'arobase par exemple.

Dans le même temps et grâce à l'opérateur ET, nous nous assurons que l'espace, le point-virgule et la virgule ne figurent pas dans la chaîne, là aussi, quels que soient les caractères placés avant et après (*). Dans la syntaxe, l'énumération de ces caractères interdits doit se faire entre crochets.
  • Enregistrer les modifications (CTRL + S),
  • Puis valider la première et la seconde alerte avec le bouton Oui,
  • A gauche du ruban, cliquer sur le bouton Affichage pour revenir sur la feuille de données,
  • Sur le vendeur d'identifiant 14, réaliser quelques essais,
Contrôle de la validité de la saisie d-une adresse mail dans un champ de table Access

Si vous tentez de valider une adresse contenant seulement le point ou l'arobase ou débutant directement par l'arobase, une alerte se déclenche. La saisie est jugée non conforme grâce à notre règle. Elle est donc refusée. D'ailleurs le message n'est pas des plus explicites. Nous corrigerons ce défaut. En revanche, si le mail comporte bien les symboles obligatoires sans les caractères interdits, le mail est validé. A ce stade par contre, rien n'interdit à l'utilisateur d'inscrire des accents. Or nous le savons, les caractères latins sont proscrits dans les adresses.
  • Abandonner l'inscription avec la touche Echap du clavier,
  • Puis, dans le ruban, cliquer sur le bouton Affichage pour revenir en mode création,
Comme nous l'avons appris au travers de l'expression construite, il est possible d'énumérer les caractères proscrits, dont les accents forcément.
  • Dans la zone Valide Si, il paraît donc judicieux de faire évoluer l'expression de cette manière :
Comme "*?@?*.?*" Et Pas Comme "*[ ,;éèêàâùîô]*"

Et dans le même temps, il apparaît opportun d'expliciter le message d'erreur.
  • Dans la zone Message si erreur, inscrire l'indication suivante :
L'arobase et le point sont obligatoires. L'espace, le point-virgule, la virgule et les accents sont interdits
  • Enregistrer les modifications (CTRL + S) et valider les alertes,
  • Puis, cliquer sur le bouton Affichage pour revenir sur la feuille de données,
  • Sur le vendeur 14, réaliser des essais de mails conformes et non conformes,
Contrôler la validité des adresses mail sans accents dans une table Access

Nous pourrions même pousser le vice en restreignant les saisies autorisées à certains domaines seulement. Pour cela, il suffirait de les énumérer dans une instruction non exclusive, comme suit :

(Comme "*?@?*.com" OU Comme "*?@?*.fr" OU Comme "*?@?*.be") Et Pas Comme "*[ ,;éèêàâùîô]*"

Quoiqu'il en soit, nous avons bien démontré l'astuce permettant de contrôler la saisie des mails dans Access.

 
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