Connexion Application

Signaler
Messages postés
17
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005
-
Messages postés
17
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005
-
Je souhaite faire une application avec une connexion avec mot de passe et nom de login.
Je veux vérifier si le nom de login existe dans une table de ma base Access.
Je n'arrive pas à ce que ca marche voici mon code :

Private Sub cmdOK_Click()
Dim adoConnection As ADODB.Connection
Dim adoRecordset As ADODB.Recordset
Dim connectString As String
Dim selection As String
Dim wUser As String

Set adoConnection = New ADODB.Connection
Set adoRecordset = New ADODB.Recordset

connectString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=\\halley\gp$\GestionDeParc.mdb"

adoConnection.Open connectString
adoRecordset.Open "select NomIntervenant from Intervenant where NomIntervenant = '& txtUserName.Text &' ", adoConnection

MsgBox "select"

If Not (adoRecordset.RecordCount) Then
MsgBox (txtUserName)
'If txtUserName = "martin" Then
'Vérifie si le mot de passe est correct.
If txtPassword = "password" Then
' Placer le code ici pour signaler
' à la procédure appelante la réussite de la fonction.


'Définir une variable globale est plus facile.
LoginSucceeded = True
Me.Hide
Menu.Show
Else
MsgBox "Mot de passe non valide, réessayez !", , "Connexion"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
Else
MsgBox "Nom d'utilisateur incorrect, réessayez"
End If
adoConnection.Close
'adoRecordset.Close
End Sub

J'ai l'impression que le SELECT ne se fait pas bien et ne retourne rien. Peu importe le nom de login que je tape ce n'est jamais bon.J'ai changé à plusieurs reprises le test mais je pense que le problème se situe au niveau de la reqête SQL.
Si vous avez une idée.
Merci

3 réponses

Messages postés
152
Date d'inscription
mercredi 30 mars 2005
Statut
Membre
Dernière intervention
5 mars 2007

Salut,

1 - adoRecordset.Open "select NomIntervenant from Intervenant where NomIntervenant = "'& txtUserName.Text &' ", adoConnection : il manque déjà une guillemet,
je ferais :

adoRecordset.Open "SELECT NomIntervenat FROM Intervenant WHERE NomIntervenat = '" & me.txtUserName.Text & "';",adoConnection

2 - Tu ouvres ton recordset sans avoir au préalable dit que txtUserName.Text d'où il vient, donc automatiquement tu test sur une chaine vide, donc pas de données correspondante :

c'est une première approche

Starec
Messages postés
17
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005

Merci,

En fait je voudrais tester si txtUserName que l'on rentre au clavier correspond au nom d'intervenant que j'ai dans ma table mais je n'arrive pas à savoir comment faire...

Tu saurais pas comment faire??
Messages postés
17
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005

Salut,

Tes 2 syntaxes ne marchent pas il y a toujours une erreur.

Il n'y aurait pas quelqu'un qui a une idée...

Merci