Récupérer une valeur dans une base de données et la comparer au contenu d'un tex

Résolu
cs_SecondSight Messages postés 16 Date d'inscription lundi 27 décembre 2004 Statut Membre Dernière intervention 11 février 2007 - 2 janv. 2006 à 08:09
 risbominkala - 30 juil. 2012 à 18:17
Bonjour !

J'ai fait un petit programme simple (en m'inspirant de codes trouvés sur ce site) où l'utilisateur doit s'enregistrer (nom + mot de passe). Les informations sont stockées dans une base de données Programme.mdb (pas de contrôle data) ayant pour table Eleves et deux champs : Nom et MotPasse.

Pour s'identifier, l'utilisateur doit choisir son nom dans un contrôle combo. Quand il clique sur son nom dans la liste, d'autres textbox sont automatiquement complétés.
-------------------------------------
Private Sub Combo1_click()

'Connexion à la table Eleves
Set tmpRec = DBTest.OpenRecordset("Eleves", dbOpenDynaset)

'Compare le texte avec tout les éléments du champs Nom
Do While Not Combo1.Text = tmpRec!Nom
'Aller à l'enregistrement suivant
tmpRec.MoveNext
Loop

'Copie le champ Classe
txtClasse.Text = tmpRec!Classe

'Copie le champ Mot de passe dans un contrôle textbox caché
txtHidden.Text = tmpRec!MotPasse

'Deconnexion
tmpRec.Close

txtMotPasse.SetFocus
End Sub
-----------------------------------------

Puis l'utilisateur doit taper son mot de passe dans un textbox et cliquer sur un bouton.
Le programme doit alors comparer le mot de passe se trouvant dans le textbox caché et celui tapé dans le textbox visible. (J'ai pas trouvé mieux ...)
-----------------------------------------
Code du bouton :

If txtMotPasse <> txtHidden Then
MsgBox "Le mot de passe que vous avez tapé est faux !", vbOKOnly, "ERREUR !"
txtMotPasse.SetFocus
txtMotPasse = ""
End If
-----------------------------------------

Bref, comment aurait-il fallu que je fasse pour récupérer la valeur dans la base de données avec une requète MYSQL ?

Merci pour votre aide ! :)

3 réponses

COlive Messages postés 91 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 3 décembre 2011
2 janv. 2006 à 13:26
Moi j'aurai tout simplement fais ceci :

'Connexion à la table Eleves
Set tmpRec = DBTest.OpenRecordset("SELECT * FROM Eleves WHERE Nom=' + Combo1.text + "'", dbOpenDynaset)

if tmpRec.recordcount = 0 then
msgbox "Utilisateur Inconnu"
exit sub
end if

if txtMotPasse.text <> tmprec.fields(Num du champ correspondant au mot de passe).value then
msgbox "Mot de passe incorrect"
exit sub
end if

msgbox "Mot de passe Bon !!"

Voila, ça serait un truc dans le genre, je pense.

COlive.
Deux intellectuels assis iront moins loin qu'un con qui marche. Pensez-y !

Pensez à cliquer sur réponse acceptées quand votre problème est solutionné.
0
cs_SecondSight Messages postés 16 Date d'inscription lundi 27 décembre 2004 Statut Membre Dernière intervention 11 février 2007
2 janv. 2006 à 19:19
Merci ! Je vais tester de suite :)
0
risbominkala
30 juil. 2012 à 18:17
KSK vous voulez dire par tmpRec?....moi je travaille en VB.net 2008 et je voudrais savoir si le code est le même?
0
Rejoignez-nous