Slt tout le monde.
Voilà je réalise un programme vb qui utilise une base Access. Dans cette base il y a 2 tables, une table Médecin avec un codeM, un NomM etc, et une table Identification qui contient codeM et MotDePasseI.
L'utilisateur entre donc son nom et son mot de passe et voilà le code que j'ai écrit lorsqu'il clique sur le bouton Connexion.
' Avec la table MEDECIN
With Data1.Recordset
'Tant que ce n'est pas le dernier enregistrement
Do While Not .EOF
'Comparer la valeur du champ login avec celle du NomM dans la base
If Login.Text = .Fields("NomM") Then
'Si elles sont égales, mettre la valeur du champ login dans une variable temporaire
temp = .Fields("NomM")
'et récupérer le code correspondant à ce login
codeMedecin = .Fields("CodeM")
End If
'Sinon lire l'enregistrement suivant
.MoveNext
Loop
End With
'Si à la sortie de la boucle, temp est vide, ça veut dire que le login n'a pas été trouvé
If temp = "" Then
d = MsgBox("Ce login n'existe pas!", , "Erreur!")
Login.Text = ""
MDP.Text = ""
Else 'Si temp n'est pas vide, on compare les mots de passe
'Avec la table Table1
With Data2.Recordset
'Tant que ce n'est pas le dernier enregistrement
If .EOF = False Then
'Comparer la valeur du codeMedecin obtenu avec chacun des codes de la base
If .Fields("CodeM") = codeMedecin Then
'Quand c'est le bon, recupérer le mot de passe correspondant à ce code
motDePasse = .Fields("MotDePasseI")
Else 'ici''''''''''''
'Sinon, passer à l'enregistrement suivant
.MoveNext
End If
Else
MsgBox "Fin de la table"
End If
End With
'Si à la sortie de la boucle, motDePasse est vide, c'est que ce login n'a pas de mdp
If motDePasse = "" Then
b = MsgBox("Erreur dans la base de données!", , "Erreur!")
Else
'Sinon, on peut comparer maintenant le mot de passe récupéré
'avec celui saisi dans le champ mdp de la fenêtre
If MDP.Text = motDePasse Then
'Ouvrir la fenêtre du menu principal
Fenetre2.Show
'Décharger la fenêtre de connexion
Unload Fenetre1
Else
c = MsgBox("Mauvais mot de passe", , "Erreur!")
MDP.Text = ""
End If
End If
'Fin du If temp=""
End If
Le problème c'est qu'il ne lit que le premier enregistrement de la table Médecin et ne reconnait donc pas les autres mots de passe.
J'ai beau relire je ne vois pas l'endroit où ca plante.
Est-ce que quelqu'un pourrait m'aider svp?
Merci
tapas64