Mot de passe

Signaler
-
Messages postés
257
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
22 décembre 2012
-
J'ai une BD Access qui tourne derrière mon interface VB mais je souhaite pouvoir me connecter en utilisant des mots de passe qui sont dans une table de ma BD:
table user avec 2 champs login et password.
Comment faire pour que la vérification s'effectue
MERCI

3 réponses

Bonjour,
Au démarage de ton appli VB tu dois lancer une Connexion avec Access.
Quant l'utilisateur valide son mot de passe, tu vérifie si il existe pour le login donné. Ou encore tu cree simplement une fonction qui vérifie le login et password.

Ex (avec MS ADO) :
Function Login(ByVal sUserName As String, ByVal sPassword As String) As Boolean

Dim adoconn As ADODB.Connection
Dim adoRecSet As ADODB.RecordSet
Dim sConnString As String
Dim sSelect As String

Set adoconn = New ADODB.Connection
'Connexion à la BD Access ex : sConnString = "Data Source=C:Mes documentsBD.mdb;User ID=Admin;Password=pwd;".
adoconn.Open sConnString
Set adoRecSet = New ADODB.RecordSet
'Construction de la requête. sSelect "Select * From User Where Login " & sUserName
adoRecSet.CursorLocation = adUseClient
'Sélection de tous les utilisateurs de la table [User] ayant le login fourni par l'utilisateur.
adoRecSet.Open sSelect, adoconn, adOpenForwardOnly, adLockOptimistic, adCmdText
adoRecSet.ActiveConnection = Nothing
adoconn.Close
Set adoconn = Nothing
'Si il existe des Utilisateurs ayant ce login.
If Not adoRecSet.EOF Then
'Recherche si le mot de passe correspond à un de ses utilisateurs.
For i = 0 To adoRecSet.RecordCount If sPassword adoRecSet("Password") Then 'Oui> revoie "True"
Login = True
Exit For
End If
Next i
'Si il n'y a pas d'Utilisateurs ayant ce login revoie "False".
Else
Login = False
End If

adoRecSet.Close

End Function

Si tu a un form de connexion sur le bouton de validation tu fait appel a login comme suit :

Sub cmdOk_Click()

If Login(txtUserName, txtPassword) = False Then
MsgBox "Login ou Mot de passe Incorrecte !", vbExclamation, App.Title
txtPassword.SetFocus
txtPassword.SelStart = 0
txtPassword.SelLength = Len(txtPassword)
Exit Sub
Else
'Ajouter code pour poursuivre le programme.
End If

End Sub

JP (en espérant t'avoir été util).
Messages postés
167
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 janvier 2006

j'ai une question pour Jp :

tu dis : "Quant l'utilisateur valide son mot de passe, tu vérifie si il existe pour le login donné."



comment tu fais ça? je ne trouve pas et qqn d'autre sur le fourm m'a
déjà bien aidé, mais je ne sais vraiment pas comment m'y prendre.
Messages postés
257
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
22 décembre 2012
1
J'espère que ta base access est protégé par un mot de passe et que celui ci est bien caché dans ton code autrement j'en vois pas trop l'interet.

bidouille007