1 pièce(s) jointe(s)
Vérification de la présence d'une string (variable) dans une table
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 :
Pièce jointe 601370
Code:
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 Function |
Code:
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 |
Merci 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 !
James C