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

Signaler
Messages postés
16
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
11 février 2007
-
 risbominkala -
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

Messages postés
91
Date d'inscription
mercredi 27 février 2002
Statut
Membre
Dernière intervention
3 décembre 2011

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é.
Messages postés
16
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
11 février 2007

Merci ! Je vais tester de suite :)

KSK vous voulez dire par tmpRec?....moi je travaille en VB.net 2008 et je voudrais savoir si le code est le même?