tapas64
Messages postés33Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention14 novembre 2004
-
10 juin 2004 à 10:44
tapas64
Messages postés33Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention14 novembre 2004
-
10 juin 2004 à 14:35
Bonjour tout le monde
Voilà, j'essaie de gérer une connexion et j'ai fait LA boulette qui fait tout planter, mais impossible d'y remédier. Je fais deux parcours de tables dans une base Access, et ceci dans l'évènement clic du bouton Valider, une fois que l'utilisateur a rentré son login et son mot de passe.
Alors voilà, je vous soumets le code, en espérant que quelqu'un puisse m'aider. Pour l'instant, ce code m'oblige à faire Ctrl+Alt+Suppr pour arrêter le prog.
Merci bcp
tapas64
Private Sub Valider_Click()
'Vérifier la saisieIf Login.Text "" Or MDP.Text "" Then
e = MsgBox("Un des champs est vide!", , "Erreur!")
Else
' Avec la table MEDECIN
With Data1.Recordset
'Tant que ce n'est pas le dernier enregistrement
Do While .EOF = False
'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 valur du champ login dans une variable temporaire
temp = Login.Text
'et récupérer le code correspondant à ce login
codeMedecin = .Fields("CodeM")
Else
'Sinon lire l'enregistrement suivant
.MoveNext
End If
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("mdp")
Else
'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