Bonjour,
Débutant en VBA sur Access, je cherche à identifier les différentes utilisateurs de ma base.
Pour ce faire je récupère le nom de session, en ENVIRON("USERNAME"), et je vérifie s'il est déjà présent dans une table de ma bdd.
Dans cette table de ma BDD j'ai donc le username, l'e-mail (que je demande à la première connexion), et des booléens Oui/Non pour les autorisations de ce qu'ils ont droit de faire ou non.
J'ai du mal à réaliser la partie vérification de la présence ou non du username dans ma abse de données. Je ne comprends pas pourquoi. Voir le code ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Option Compare Database Function authentification_user() Dim string_utilisateur As String Dim email As String string_utilisateur = Environ("USERNAME") If EntreeExiste(string_utilisateur) = False Then MsgBox "Ajout de la personne" string_email = InputBox("Première connexion : renseignez votre adresse e-mail : ", "Première connexion") Set t = CurrentDb.OpenRecordset("users", DB_OPEN_DYNASET) t.AddNew t![utilisateur] = string_utilisateur t![email] = string_email t![droit_ajout] = True t![admin] = False t.Update t.MoveLast Else MsgBox "Existe déjà" End If End FunctionMerci d'avance pour votre aide, j'en profite pour dire que si vous avez des bonnes vidéos/site web pour apprendre le langage SQL (qui semble indispensable pour Access) et sur l'organisation Access je suis preneur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Public Function EntreeExiste(ByVal NomEntree As String) As Boolean Dim db As Database Dim Rct_Dbl As Recordset Dim str_dbl As String Set db = CurrentDb str_dbl = "SELECT Users.[utilisateur]" & _ "FROM Users" & vbCrLf & _ "WHERE (((Users.utilisateur) = '" & NomEntree & "'))" Set Rct_Dbl = db.OpenRecordset(str_dbl) If Not (Rct_Dbl.BOF And Rct_Dbl.EOF) Then EntreeExiste = False Else EntreeExiste = True End If End Function
James C
Partager