Un formulaire de connexion est indispensable pour les bases de données contenant des informations sensibles. Suivez les étapes ci-dessous pour pouvoir créer votre propre formulaire de connexion afin de protéger votre base de données contre les accès invalides.
Téléchargez
Si vous voulez start pour utiliser la fonctionnalité dès que possible, vous pouvez alors :
Téléchargez l'exemple de base de données avec les codes VBA maintenant
Sinon, si vous voulez bricoler, vous pouvez lire le contenu ci-dessous.
Étapes pour créer un formulaire de connexion dans Access
1. Créer une table de connexion
La première chose que nous devons faire est de créer une table qui stockera toutes les informations de connexion.
- Créez une nouvelle table et nommez-la comme tbl_login.
- Ouvrez la table en mode création.
- Ajoutez les champs suivants avec leurs types de données correspondants :
| Nom de domaine | Type de données |
| Identifiant d'utilisateur | Numéro automatique |
| Prénom | Texte court |
| Nom de famille | Texte court |
| UserName | Texte court |
| Mot de passe | Texte court |
- Modifiez le masque de saisie du mot de passe afin qu'il s'affiche sous la forme d'une série d'astérisques (*).
- Sélectionnez le champ Mot de passe.
- Allez dans l'onglet Général > Masque de saisie > …
- Lorsque l'assistant de masque de saisie apparaît, sélectionnez Mot de passe.
- Cliquez sur Terminer.
- Ouvrez la table en mode Feuille de données et entrez le premier enregistrement (vos informations de connexion).
- Fermez le tableau et enregistrez les modifications apportées.
2. Créez le formulaire de connexion
Créez un formulaire vierge avec 2 zones de texte et 2 boutons de commande (comme indiqué ci-dessous). Ignorez l'assistant du bouton de commande.
Nous allons faire référence à ces contrôles de formulaire dans notre code plus tard, il serait donc préférable de les renommer afin qu'ils puissent être facilement identifiés :
- txt_nom d'utilisateur
- txt_mot de passe
- cmd_login
- cmd_annuler
Ensuite, modifiez le masque de saisie de la zone de texte du mot de passe afin qu'il s'affiche également sous la forme d'une série d'astérisques (*).
- En mode conception, sélectionnez la zone de texte du mot de passe.
- Ouvrez la feuille de propriétés (ALT + Entrée).
- Accédez à l'onglet Données > Masque de saisie.
- Sélectionnez Mot de passe et cliquez sur Terminer.
Maintenant, nous allons changer certaines des propriétés de la forme à des fins esthétiques et most important, pour s'assurer que les utilisateurs ne peuvent pas contourner ce formulaire sans saisir les informations de connexion correctes.
- En mode conception, sélectionnez le formulaire (comme indiqué ci-dessous).
- Ouvrez la feuille de propriétés (ALT + Entrée) et mettez à jour les propriétés suivantes :
- En vertu des Normes sur l’information et les communications, les organismes doivent rendre leurs sites et applications Web accessibles. Ils y parviennent en conformant leurs sites Web au niveau AA des Web Content Accessibility Guidelines (WCAG). Format languette
- Légende : Connexion
- Sélecteurs d'enregistrement : Non
- Boutons de navigation : Non
- Barres de défilement : Aucune
- Style de bordure : dialogue
- Bouton Fermer : Non
- En vertu des Normes sur l’information et les communications, les organismes doivent rendre leurs sites et applications Web accessibles. Ils y parviennent en conformant leurs sites Web au niveau AA des Web Content Accessibility Guidelines (WCAG). Autres languette
- Pop up : Oui
- Modale : Oui
- Menu contextuel : Non
- Enregistrez le formulaire sous frm_login.
3. Ajoutez le code
Ajoutez un événement Sur clic au bouton Connexion.
- En mode conception, sélectionnez le bouton Connexion.
- Accédez à la feuille de propriétés > onglet Événement > Au clic > …
- Choisir Générateur de code dans le menu Choisir un générateur et cliquez sur OK.
- Cela ouvrira l'éditeur VBA.
- Copiez le code ci-dessous.
Private Sub cmd_login_Click()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
If Trim(Me.txt_username.Value & vbNullString) = vbNullString Then
MsgBox prompt:="Username should not be left blank.", buttons:=vbInformation, title:="Username Required"
Me.txt_username.SetFocus
Exit Sub
End If
If Trim(Me.txt_password.Value & vbNullString) = vbNullString Then
MsgBox prompt:="Password should not be left blank.", buttons:=vbInformation, title:="Password Required"
Me.txt_password.SetFocus
Exit Sub
End If
'query to check if login details are correct
strSQL = "SELECT FirstName FROM tbl_login WHERE Username = """ & Me.txt_username.Value & """ AND Password = """ & Me.txt_password.Value & """"
Set db = CurrentDb
Set rst = db.OpenRecordset(strSQL)
If rst.EOF Then
MsgBox prompt:="Incorrect username/password. Try again.", buttons:=vbCritical, title:="Login Error"
Me.txt_username.SetFocus
Else
MsgBox prompt:="Hello, " & rst.Fields(0).Value & ".", buttons:=vbOKOnly, title:="Login Successful"
DoCmd.Close acForm, "frm_login", acSaveYes
End If
Set db = Nothing
Set rst = Nothing
End Sub
Ce code va:
- Vérifiez si les champs nom d'utilisateur et mot de passe ne sont pas laissés vides. Si tel est le cas, une invite apparaîtra.
- Vérifiez si les informations de connexion sont correctes en les comparant aux valeurs de la table de connexion (tbl_login).
- Une fois les informations de connexion vérifiées, une invite apparaîtra pour accueillir l'utilisateur.
L'étape suivante consiste à ajouter le code du bouton Annuler afin qu'une fois cliqué, la base de données se ferme.
- Ajoutez un événement Sur clic au bouton Annuler (même procédure avec le bouton Connexion).
- Copiez le code ci-dessous.
Private Sub cmd_cancel_Click() DoCmd.Quit acQuitSaveAll End Sub
4. Définissez le formulaire de connexion comme formulaire d'affichage
Enfin, définissez le formulaire de connexion comme formulaire par défaut que les utilisateurs verront à l'ouverture de la base de données.
- Accédez à Fichier > Options > Base de données actuelle.
- Définissez le formulaire d'affichage sur frm_login.
- Cliquez sur OK.
Vous devrez fermer la base de données et la rouvrir pour voir comment cela fonctionne.
Récupérer votre base de données Access
Toutes nos félicitations! Vous savez maintenant comment protéger votre précieuse base de données contre les accès invalides. Maintenant, je vais vous donner un conseil supplémentaire. Si, pour une raison malheureuse, votre base de données a été corrompue, NE paniquez PAS. DataNumen Inc., un expert des technologies de récupération de données, fournit un logiciel qui répare Accès corrompu base de données. Votre base de données peut encore être récupérée.
Introduction de l'auteur:
Jayme Stack est un expert en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris récupération SQL et des produits logiciels de récupération Excel. Pour plus d'informations, visitez www.datanumen.com



