Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Mot de passe masqué
A l'occasion de cette nouvelle
astuce Access, nous allons découvrir comment créer un
champ de type
Mot de passe, ayant la vertu de
masquer la saisie de l'utilisateur, pour des raisons de
sécurité.
Base de données source
Pour les besoins des démonstrations, nous suggérons de récupérer une petite
base de données hébergeant une
table dédiée pour la création de ce type de
champ.
- Télécharger le fichier champ-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é,
Comme l'indique le
volet de navigation sur la gauche de l'écran, cette petite
base de données n'est constituée que d'une seule
table.
- Double cliquer sur cette table Commerciaux pour l'afficher en mode Feuille de données,
Cette table
liste les commerciaux de l'entreprise avec leurs résultats et quelques renseignements.
Créer un champ crypté
La société a décidé de créer une passerelle accessible par le biais d'une adresse. Chacun pourra y accéder avec ses informations de compte. Pour en sécuriser les données personnelles, l'accès doit être soumis à un
mot de passe encodé. Faut-il encore qu'un tel type de
champ existe et soit dédié. Nous proposons de découvrir l'
astuce permettant de le créer avec une simplicité déconcertante.
- A gauche du ruban Accueil, cliquer sur le bouton Affichage,
Ainsi, nous basculons dans la vue en conception de la
table.
- Cliquer dans la zone en dessous du champ com_bonus pour l'activer,
- Saisir le nom de champ suivant : com_mp,
- Enfoncer la touche Tab du clavier pour activer sa colonne Type de données,
- Conserver le réglage par défaut, soit : Texte court,
- Dans les propriétés du dessous, régler l'attribut Taille du champ sur 10,
De cette manière, nous limitons la saisie d'un
mot de passe à un maximum de dix caractères.
- Dans la zone Masque de saisie, saisir l'indication suivante : Mot de passe,
C'est aussi simple que cela pour transformer un banal champ textuel en
champ sécurisé pour accueillir la saisie d'un
mot de passe. Dans la version anglo-saxonne, il y a fort à parier que l'indication devient
Password.
- Enregistrer les modifications (CTRL + S),
- Puis, cliquer sur le bouton Affichage à gauche du ruban Création,
Nous revenons donc en mode
feuille de données. Désormais, si vous tapez une suite de caractères dans le
champ com_mp pour n'importe quel
enregistrement, vous constatez que la saisie est effectivement
encodée. Et pour cela, l'
astuce a simplement consisté à régler le
masque de saisie du champ avec la valeur
Mot de passe.
Restituer un mot de passe
La question qui se pose maintenant est de savoir comment restituer un
mot de passe perdu, à un utilisateur. Ce processus génère conventionnellement un mail automatisé sur demande de l'utilisateur en question. Et c'est bien sûr le code ou encore une
macro qui permettent de dévoiler l'
information encryptée.
- Fermer la table Commerciaux en cliquant sur la croix de son onglet,
Elle reste néanmoins sélectionnée par défaut dans le
volet de navigation. Ce comportement est important pour automatiser la construction du
formulaire dans l'enchaînement.
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Formulaire du ruban, cliquer sur le bouton Formulaires,
Le
formulaire est aussitôt créé automatiquement sur la base de la
table Commerciaux. Il en restitue tous les
enregistrements un à un, comme l'illustre cette vue en
mode page. Et à ce titre, vous remarquez que les attributs des champs sont conservés. Le
mot de passe apparaît
encodé. Certes, la présentation et l'organisation du
formulaire laissent à désirer. Mais nous préférons nous en accommoder puisque ce façonnage n'est pas la vocation de cette
astuce. Et comme vous le savez, nous avons démontré les techniques pour
personnaliser et organiser les formulaires Access au travers de formations dédiées.
- A gauche du ruban Création, cliquer sur la flèche du bouton Affichage,
- Dans la liste des propositions, choisir le mode création,
Il peut être opportun de repousser vers le bas la zone du pied de
formulaire. C'est ainsi que nous pouvons gagner de la place en hauteur pour la zone du détail du
formulaire.
- Dans le ruban Création, choisir le contrôle Zone de texte (ab),
- Puis, le tracer sous le dernier contrôle, celui du mot de passe (com_mp),
- Activer alors l'onglet Autres de sa feuille de propriétés,
- Dans sa propriété Nom, saisir l'intitulé com_mpv puis valider par la touche Entrée,
Un nom de contrôle est toujours important. C'est lui qui permet de désigner l'objet à piloter par le code ou par une
macro.
- Dans le ruban Création, sélectionner le contrôle bouton,
- Puis, le tracer sous le contrôle com_mpv,
- Si l'assistant se déclenche, cliquer sur le bouton Annuler pour le neutraliser,
- Activer l'onglet Toutes de sa feuille de propriétés,
- Dans sa propriété Nom, saisir le texte Afficher,
- Dans sa propriété Légende, saisir de même le texte Afficher,
La
légende est l'attribut qui permet d'inscrire un texte sur un bouton.
- Enregistrer le formulaire sous le nom F_Commerciaux,
- Cliquer sur le bouton pour le sélectionner de nouveau,
- Activer alors l'onglet Evénement de sa feuille de propriétés,
- Cliquer sur le petit bouton situé à l'extrémité de son événement Au clic,
- Dans la boîte de dialogue, choisir le générateur de code et valider par le bouton Ok,
Nous basculons ainsi dans l'
éditeur de code Visual Basic Access, entre les bornes de la
procédure événementielle Afficher_Click. Son code se déclenchera au clic de l'utilisateur sur le
bouton Afficher.
- Entre les bornes de cette procédure, ajouter l'instruction VBA suivante :
Private Sub Afficher_Click()
com_mpv.Value = com_mp.Value
End Sub
Nous désignons donc les objets par leur nom. La
propriété Value permet d'accéder au contenu d'une zone de texte. C'est ainsi que nous cherchons à inscrire le contenu originel détenu par la zone
com_mp dans la zone
com_mpv. Et comme le
masque de saisie de cette dernière n'est pas configuré sur
Mot de passe, nous devrions pouvoir dévoiler l'information encodée.
- Enregistrer les modifications (CTRL + S),
- Puis, fermer l'éditeur VBA Access en cliquant sur la croix de sa fenêtre,
- De retour sur le formulaire, l'enregistrer à son tour et l'exécuter (F5),
La dernière zone de saisie apparaît vide. Mais si vous cliquez sur le
bouton Afficher, le
mot de passe est dévoilé. Pour éviter que cette information ne persiste au changement d'enregistrement, il suffit de réinitialiser le contenu de la zone de texte avec l'événement Sur activation du formulaire :
Private Sub Form_Current()
com_mpv.Value = ''
End Sub