1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| Option Compare Database
Option Explicit
Public User_Id As String ' Déclaration de la varaible en variable publique
Public User_groupe As String ' Idem
Private Sub Commande8_Click()
Me.Requery
Dim sql As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM T_USERS WHERE TRIGRAMME = '" & Me.user & "' AND PASSWD ='" & Me.pass & "';"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
User_Id = rs("TRIGRAMME").Value
User_groupe = rs("GROUPE").Value
'Les variables sont publiques et disponible dans tout le projet
'Ou tu peux ajouter l'utilisateur connecté dans ta table
'et aller vérifier son groupe avant chaque action avec la fonction DLookUp.
DoCmd.RunSQL "INSERT INTO T_Users_connectes ( TRIGRAMME, GROUPE )" & _
"SELECT [User_Id] AS [User], [User_groupe] AS Groupe;"
'Sélection des évènements en fonction du groupe
If User_groupe = "Administrateur" Then
MsgBox "Bonjour, Monsieur l'administrateur"
'Ici, on ouvre le formulaire réservé à l'administrateur, par exemple
Else
MsgBox "Bonjour, cher utilisateur"
'Ici, on ouvre le formulaire réservé aux autres utilisateurs
End If
'Nota : si tu as plusieurs groupes, l'utilisation d'un Select à la place du If est préférable
'Fermeture du formulaire de connexion
DoCmd.Close
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisées", vbCritical
Application.Quit
End If
End Sub |
Partager