formateur informatique

Mot de passe encrypté sur un formulaire d'accès

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Mot de passe encrypté sur un formulaire d'accès
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 :


Masquer le mot de passe d'accès

Certains formulaires Access sont sensibles. Ils sont destinés à modifier les données au coeur de la base. Dans ces conditions, leur accès doit être restreint aux personnes habilitées.

Formulaire Access avec mot de passe encrypté pour bloquer accès

Dans l'exemple illustré par la capture, l'utilisateur consulte les informations sur les commerciaux d'une entreprise par le biais d'un premier formulaire. Il clique sur un bouton permettant de modifier les informations du commercial en cours de consultation. Avant d'atteindre le formulaire de modification, un barrage se dresse. Un formulaire intermédiaire impose d'énoncer le mot passe requis. Et comme vous pouvez le voir, ce mot de passe est encodé. Cette nouvelle astuce Access dévoile comment masquer un mot de passe d'accès entre autres.

Source et présentation
Pour amorcer ces démonstrations, nous suggérons de récupérer une petite base de données hébergeant déjà ces formulaires. Ainsi, nous pourrons focaliser notre attention sur les tâches utiles.
  • Télécharger le fichier masquer-mot-passe.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é,
En consultant le volet de navigation sur la gauche de l'écran, vous remarquez que cette base de données est composée de cinq objets. Il s'agit d'une table, d'une requête et de trois formulaires.
  • Double cliquer sur le formulaire f_com pour l'exécuter,
Par enregistrements séparés, il relate les résultats des commerciaux de l'entreprise. Il a donc été bâti sur la table Commerciaux. En consultant l'indication de la barre de navigation en bas de la fenêtre Access, vous constatez qu'ils sont au nombre de 14.
  • Fermer le formulaire en cliquant sur la croix de son onglet,
  • Dans le volet de navigation, double cliquer sur le formulaire f_modif,
Il s'agit du formulaire destiné à modifier les informations du commercial consulté depuis le formulaire f_com. Il apparaît vide car il n'est pas conçu pour s'ouvrir indépendamment.

Formulaire Access pour modifier des informations transmises

Il doit réceptionner les informations issues du formulaire f_com pour restituer les données du commercial en cours de consultation. Cette technique de communication, nous l'apprendrons dans la prochaine astuce Access. Dès lors, c'est la requête r_modif qui doit se charger d'opérer la mise à jour dans la table Commerciaux, en fonction des modifications apportées par l'opérateur.
  • Dans le volet de navigation, cliquer droit sur la requête r_modif,
  • Dans le menu contextuel, choisir Mode création,
Nous basculons ainsi dans la vue en conception de la requête. Vous remarquez qu'il s'agit d'une requête mise à jour.

Requête Access de mise à jour au clic sur le bouton du formulaire

Il faut élargir les deux champs pour visualiser la syntaxe.

Dans le champ com_nom, un critère de correspondance permet de réceptionner le nom du commercial en cours de modification depuis le formulaire f_modif. Selon cette donnée, la mise à jour est entreprise sur le nouvel objectif fixé grâce à la syntaxe inscrite dans la zone Mise à jour pour le champ com_obj.
  • Fermer la requête r_modif ainsi que le formulaire f_modif,
  • Dans le volet de navigation, double cliquer sur le formulaire f_mp,
Formulaire Access prévu pour valider la saisie du mot de passe encrypté et appeler un autre formulaire

A ce stade, il n'est doté que d'un bouton. Nous devons lui greffer une zone de saisie permettant de masquer le mot de passe inscrit. Et pour cela, nous avons besoin d'un contrôle ActiveX. C'est ce formulaire qui doit se dresser à l'appel du formulaire f_modif par le formulaire f_com. Si le mot de passe n'est pas conforme, l'accès doit être refusé. Et ce contrôle doit s'entreprendre par action de macro.

Zone de texte pour mot de passe
Nous devons donc commencer par ajouter sur ce formulaire la zone de saisie capable d'encoder les caractères tapés par l'utilisateur.
  • Tout à fait à gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode création,
Dans la vue en conception du formulaire, vous notez la présence d'une étiquette (Label) au-dessus du bouton. Elle se nomme msg. Nous l'utiliserons pour afficher un message à l'utilisateur en cas d'échec à la saisie du mot de passe. Dans le cas contraire, nous devons entreprendre l'ouverture du formulaire f_modif par action de macro.

Ajouter un contrôle ActiveX sur un formulaire Access
  • Déployer complètement la liste des contrôles dans le ruban contextuel Création,
  • Tout en bas des propositions, cliquer sur l'option Contrôles ActiveX,
  • Dans la boîte de dialogue qui suit, sélectionner le contrôle Microsoft Forms 2.0 TextBox,
Ajouter un contrôle ActiveX Microsoft Forms TextBox sur le formulaire Access

Il s'agit d'une zone de texte a priori classique. Mais nous allons le voir, elle offre plus de propriétés.
  • Cliquer sur le bouton Ok pour valider le choix,
La zone de texte ActiveX apparaît sur le formulaire.
  • La déplacer et la dimensionner entre le bouton et l'étiquette (Label).
Ajouter une zone de texte ActiveX pour le mot de passe encodé sur le formulaire Access

Vérifier le mot de passe
Pour piloter cette zone de saisie, il est vivement conseillé de lui attribuer un nom précis.
  • Activer l'onglet Autres de sa feuille de propriétés,
  • Dans la zone Nom, remplacer l'intitulé par le suivant : motPasse et valider par la touche Entrée,
  • Sur le formulaire, cliquer sur le bouton pour le sélectionner,
  • Activer l'onglet Evénement de sa feuille de propriétés,
  • Cliquer alors sur le petit bouton de son événement Au clic,
  • Dans la boîte de dialogue qui suit, choisir Générateur de macro et valider par Ok,
  • Dans l'éditeur de macro, déployer la liste déroulante,
  • Dans la liste des propositions, choisir l'instruction Si,
  • Dans la zone Expression conditionnelle, inscrire le critère suivant : [motPasse]="abc123",
Arbitrairement donc, nous cherchons à vérifier que le mot de passe inscrit par l'utilisateur dans le contrôle motPasse est bien abc123. Si la condition est satisfaite, nous devons fermer le formulaire d'accès pour afficher le formulaire de modification à ses dépens.
  • Déployer la liste déroulante du dessous et choisir l'action FermerFenêtre,
  • Dans la zone Type d'objet, choisir Formulaire avec la liste déroulante,
  • Dans la zone nom d'objet, taper f_mp pour le désigner,
  • Dans la zone Enregistrer, choisir la valeur Non pour éviter les messages de confirmation,
  • Déployer la liste déroulante du dessous et choisir cette fois l'action OuvrirFormulaire,
  • Dans la zone Nom de formulaire, choisir f_modif avec la liste déroulante,
  • Dans la zone Mode fenêtre, choisir Boîte de dialogue,
Ainsi, le nouveau formulaire s'affichera dans sa propre fenêtre et non encapsulé dans un onglet. Nous pourrons le positionner à notre guise pour plus de confort.

Nous venons d'énoncer les actions à exécuter lorsque le mot de passe est conforme. Dans le cas contraire, nous devons afficher une indication à l'utilisateur. Pour cela, il suffit d'afficher un message dans l'étiquette nommée msg.
  • En bas à droite de l'instruction Si, cliquer sur le lien Ajouter sinon,
Ajouter une branche Else (Sinon) dans une fonction Si de macro Access
  • Déployer la liste déroulante qui se propose juste en-dessous,
  • Choisir l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, taper : msg, soit le nom de l'étiquette,
  • Dans la zone Propriété, choisir l'attribut Légende,
En effet, le texte porté par une étiquette n'est pas reconnu par la propriété Valeur (Value en anglais) comme pour les zones de texte. Il s'agit d'un intitulé reconnu par la propriété Légende ou Caption en anglais.
  • Dans la zone Valeur, saisir l'indication suivante : Mot de passe incorrect !,
Action de macro Access pour ouvrir un autre formulaire si le mot de passe encrypté est correct

Il est temps de tester le fonctionnement de cette macro.
  • Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire f_mp, l'enregistrer à son tour (CTRL + S),
  • Puis, fermer le formulaire en cliquant sur la croix de son onglet,
  • Dans le volet de navigation, double cliquer sur le formulaire f_com pour l'exécuter,
  • Avec la barre de navigation en bas de la fenêtre, choisir le troisième ou quatrième commercial,
  • Puis, cliquer sur le bouton Modifier,
Le formulaire f_mp s'affiche comme convenu. C'est une action de macro prédéfinie qui exécute son ouverture. Ce formulaire n'est pas centré sur la largeur de la fenêtre. C'est un défaut que nous pallierons ensuite pour des raisons d'ergonomie.
  • Dans la zone de saisie, taper le mot de passe abc123,
Comme vous pouvez le voir, celui-ci n'est absolument pas encrypté. Mais nous l'avons dit, un contrôle ActiveX offre de riches propriétés. Nous y reviendrons donc puisqu'il est aussi question d'influer sur les propriétés du formulaire lui-même.

Taper un mot de passe pour accéder à un autre formulaire Access
  • Cliquer sur le bouton Valider pour procéder,
Le formulaire f_modif s'affiche en effet puisque le mot de passe est correct. Mais à ce stade, il est vide. Nous l'avons dit, à l'occasion de la prochaine astuce, nous verrons comment récupérer les informations depuis un formulaire appelant dans le formulaire appelé.

Cacher un mot de passe
Désormais, notre souci est de trouver la solution pour encoder le mot de passe au fil de la saisie. Vous allez le voir, comme il s'agit d'une propriété, nous allons en profiter pour régler le formulaire afin qu'il se centre automatiquement.
  • Dans le volet de navigation, cliquer droit sur le formulaire f_mp,
  • Dans le menu contextuel, choisir le mode création,
Lorsque nous basculons dans la vue en conception d'un formulaire, ce dernier est sélectionné par défaut. Donc la feuille de propriétés énonce tous ses attributs.
  • Activer l'onglet Format de sa feuille de propriétés,
  • En haut à droite de la feuille de propriétés, cliquer sur le bouton AZ,
Afficher les propriétés du formulaire Access par ordre alphabétique

Cette action a pour effet d'organiser tous les attributs dans l'ordre alphabétique croissant.
  • Double cliquer alors sur la valeur Non de sa propriété Centrage auto,
Vous basculez ainsi la valeur à Oui pour imposer au formulaire de se centrer sur la largeur de la fenêtre à chaque activation.
  • Cliquer désormais sur la zone de saisie pour la sélectionner,
  • Activer l'onglet Autres de sa feuille de propriétés,
  • Dans la zone de son attribut PasswordChar, taper le symbole de l'astérisque : *,
Choix du caractère pour encoder le mot de passe dans une zone de texte ActiveX Access

Nous indiquons ainsi que chaque caractère tapé doit être encodé par un astérisque (étoile), au moment de la frappe.
  • Enregistrer le formulaire puis le fermer en cliquant sur la croix de son onglet,
  • Sur le formulaire f_com, cliquer sur le bouton Modifier,
  • Dans le formulaire f_mp qui s'affiche, taper un mot de passe erroné, comme : abc111,
Mot de passe caché par des étoiles au moment de la saisie sur un formulaire Access

Nous constatons plusieurs phénomènes. Tout d'abord, le formulaire est effectivement centré sur la largeur de la fenêtre, ce qui est plus propre et plus pratique. Le mot de passe est bien encrypté par le symbole de l'étoile. Il est donc désormais sécurisé. Lorsqu'il n'est pas correct, l'ouverture du formulaire f_modif n'est pas commandée. C'est l'alerte d'erreur que nous avons paramétrée qui apparaît dans l'étiquette du dessus. L'utilisateur peut donc recommencer. Si vous tapez et validez le bon mot de passe, le formulaire f_modif apparaît parfaitement.

Pour des raisons d'ergonomie une fois encore, un réglage s'avèrerait précieux sur la zone de saisie du mot de passe. Celle-ci n'est pas active par défaut. L'administrateur est donc obligé de cliquer dedans avant de pouvoir saisir. Il suffit de régler sa propriété Index tabulation sur 0. Avec cette valeur, la zone de saisie est considérée comme le contrôle actif par défaut à l'ouverture du formulaire. Cet attribut se trouve dans l'onglet Autres de la feuille de propriétés.

Bien sûr, et malgré cette astuce pour masquer le mot de passe administrateur, tous les objets restent accessibles à chaque utilisateur, notamment par le biais du volet de navigation. Mais nous avons déjà appris à verrouiller complètement une application 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