Formulaire Authentification

The Napster -  
aminatatoure Messages postés 5 Statut Membre -
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!
Configuration: Windows XP
Safari 530.5

2 réponses

  1. aminatatoure Messages postés 5 Statut Membre
     
    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
    1. The Napster
       
      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
  2. aminatatoure Messages postés 5 Statut Membre
     
    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