Formulaire Authentification

Fermé
The Napster - 17 août 2009 à 11:59
aminatatoure Messages postés 5 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 25 août 2009 - 25 août 2009 à 11:56
Bonjour,
j'sui vraiment debutant en programation vb avec access, je voudrai creer un formulaire, qui se lancera au demarafe et qui demandera le nom user et son mot de passe pour acceder une fonctionnalité quelconque,(etats, formulaire, requete, ect). J'ai un formulaire "F_Authentification" sur lequel je pose 4 controls: 1 zone de texte pour recupérer le nom_user; 1 autre pour recupérer le user_psw, le btnOK dont le code est ci-dessous; ainsi qu'un dernier bouton btnCancel que je code au clic "docmd.close "
voici le code qui ne marche, ça peut etre quoi l'origine de l'erreur? Please, SOS:
---------------------------------------------------------------
Private Sub btnKO_Click()
Dim Rs As DAO.Recordset
Dim Valide As Boolean
Reconnu = False
Set Rs = CurrentDb.OpenRecordset("T_Users")
Do While Not Rs.EOF
If Rs.Fields("Nom_Utilisateur").Value = zone_user.Value Then
If Rs.Fields("Mot_de_Passe").Value = zone_Pswd.Value Then
DoCmd.OpenForm "F_Connexion", acNormal
Valide = True
Exit Do
Else
MsgBox "Votre mot de passe n'est pas correct!"
GoTo Fin
End If
End If
Rs.MoveNext
Loop
If Valide = False Then
MsgBox "Votre nom est incorrect!", vbCritical, "Attention.."
GoTo Fin
End If
End Sub
------------------------
Pouvez-vous m'aider à trouver le problème, toutes les reference DAO sont ok!

2 réponses

aminatatoure Messages postés 5 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 25 août 2009
20 août 2009 à 12:36
Bonjour, ta variable Reconnue n'est pas déclarée. essaye de la déclarer
si ça ne marche pas
j'ai un code qui pourra t'aider.
0
salut animatatoure! c'est très gentil de part, concernant la variable "reconnu" que j'ai surement ommise en copiant le code, sinon dans mon code elle existe , et alors, ça ne marche toujours pas, si tu peux, ça m'aiderai beaucoup ton code à me proposer, et encore plus j'apprendrai d'avantage en tant que débutant en programmation vb access.
Si t'as des bons références /liens gratos de tuto sur le vb avec avec access, ça m'aiderai beaucoup. Jusque là, j'ai eu à visiter quelques grands sistes de developpeurs comme developpez.com, sodesource, site du zero et autres je trouve toujours pas de bons tuto pour débutants.
Une petite suggestion, c'est vrai de fois,c'est vrai il fait apprendre à l'autre à pêcher plutot que lui donner du poisson quand il en a besoin , ce qui ne pas bien pour un apprentissage, je suggérerais à toutes ces personnes qui veulent bien aider les autres à connaitre quelques notions sur un domaine bien precis, d'etre toujours complètes, ie quand je fais une petite application de facturation e.g; donnes les marches, mais aussi pour une idée claire, les schéma:des formulaire,etat(qui necessairement decoule d'un formulaire), ie comment je fais mon formulaire pour qu'il resesmble à celui que je vous presente sur mon tuto, e.g .ça, c'est pas vraiment tous les détails, mais au moins ça aide énormement dans l'inspiration des apprenants, en vue de faire mieux prochainement dans leurs propres applications. Pour une fois de plus je te dis Big Thanks à toi. Très impatiamment ton aide en m'envoyant ton code pourquoi pas une suggestion, idée,etc.
Cordialement, The N@pster
0
aminatatoure Messages postés 5 Date d'inscription mardi 18 août 2009 Statut Membre Dernière intervention 25 août 2009
25 août 2009 à 11:56
voici le code que moi même j'utilise pour ma base:
Public Sub VALIDER()

Dim db As DAO.Database
Dim rdb As Recordset
Dim sqldb As String
Dim trouve As Boolean

Set db = CurrentDb()
sqldb = "SELECT [UTILISATEUR].[LOGIN],[UTILISATEUR].[MOT_PASSE]"
sqldb = sqldb & "FROM [UTILISATEUR]"
sqldb = sqldb & "ORDER BY [UTILISATEUR].[LOGIN];"

trouve = False
Set rdb = db.OpenRecordset(sqldb)
rdb.MoveFirst

While Not rdb.EOF And Not trouve
If rdb.Fields("LOGIN").Value = LOGIN And rdb.Fields("MOT_PASSE").Value = MOT_PASSE Then
trouve = True
DoCmd.OpenForm "PAGE ACCUEIL", acNormal, , , , acWindowNormal
Else
If Not trouve Then
rdb.MoveNext
Else
MsgBox "(Nom utilisateur, mot de passe) incorrecte", vbOKOnly
End If
End If
Wend
rdb.Close
Set rdb = Nothing
If Not trouve Then
MsgBox "Mot de passe ou login incorrecte ou vous n avez pas l autorisation de l administrateur", vbCritical, "Utilisateur non trouvé"
End If

End Sub

Toute fois je crois que tu dois changer cette partie de ton code :
If Rs.Fields("Nom_Utilisateur").Value = zone_user
Enlève value
J'espère que ça va aller cette fois ci
0