Formulaire login et mot de passe

Résolu
Peguewende Messages postés 120 Statut Membre -  
Peguewende Messages postés 120 Statut Membre -
Bonjour!
je un petit souci et je cherche de l'aide:
j'ai crée une base de donnée avec access 2013 et voila je bute sur un petit truc.
je souhaiterais mettre en place dans un formulaire de login et mot de passe afin que l'utilisateur puisse s'identifier.
j'ai crée une table T_User(ID,User,Pass) et un formulaire F_Connexion(txt_User,txt_Pass) et un bouton Connexion(btnlogIn)
voici le code sur le bouton:
Private Sub btnlogIn_Click()
Dim rs As Recordset

Set rs = CurrentDb.OpenRecordset("T_User")
rs.Find ("pass= '" & Me.txt_Pass & "'")
If Not rs.EOF Then
MsgBox ("ouvrir mon formulaire principal")
Else
MsgBox ("Erreur de Mot de Passe!")
End If
End Sub


je suis debutant dans les code VBA et pour cet exercice vraiment je bouge pas. je l'ai ecris et reecris de plusieurs façons vraiment je ne boude pas, rien que des messages d'erreurs.
aidez-moi s'il vous plait.
Merci pour Tout

11 réponses

  1. Peguewende Messages postés 120 Statut Membre 1
     
    j'ai deja mais j'ai un message d'erreur, je me demandais si se n'etait pas à cause de la bibliotheque DAO
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      rs.Find (
      il me semble que ca n'existe pas ...
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Pour completer,

    rs.FindFirst ("pass= '" & Me.txt_Pass & "'")
    0
  3. Peguewende Messages postés 120 Statut Membre 1
     
    j'ai rs.FindFirst ("pass= ' " & Me.txt_Pass & "'") ssurligner en jaune et le message d'erreur c'est (erreur d'execution 3251 et operation non autorisée pour ce type d'objet)
    c'es tu là ou se trouve le probleme?
    merci bien.
    ??question toute bete comment pour copier la ligne de code comme tu l'a fait dans ta reponse!!
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Avec requete sql, ca marche:

    Private Sub btnlogIn_Click()
        Dim rs As Recordset
    
        Set rs = CurrentDb.OpenRecordset("select pass from T_User where pass='" & Me.Txt_Pass & "';")
        If Not rs.EOF Then
            MsgBox ("ouvrir mon formulaire principal")
        Else
            MsgBox ("Erreur de Mot de Passe!")
        End If
    End Sub
    
    0
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    J'ai retrouve la syntaxe, c'est sur le Set rs qu'il manquait un parametre:

    Private Sub btnlogIn_Click()
        Dim rs As Recordset
    
        Set rs = CurrentDb.OpenRecordset("T_User", dbOpenDynaset)
        rs.FindFirst ("pass='" & Me.Txt_Pass & "'")
        If Not rs.EOF Then
            MsgBox ("ouvrir mon formulaire principal")
        Else
            MsgBox ("Erreur de Mot de Passe!")
        End If
    End Sub
    0
  7. Peguewende Messages postés 120 Statut Membre 1
     
    Merci beaucoup pour votre aide. ça marche c'est vrai mais cela ne résout pas mon problème. pour n'importe qu'elle donnée entrée au clavier il affiche "ouvrir mon formulaire principal" alors que mon but recherché est que l'utilisateur doit entrer son nom et son mot de passe pour pouvoir accéder au formulaire principal sinon un message d'erreur s'affiche "mot de passe incorrecte" ou "nom utilisateur incorrecte".
    pouvez-vous m'aider à corriger mon code afin d'y parvenir
    merci vraiment pour votre soutien dans la recherche de la solution à mon probleme
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Oui, j'ai tester ce code et ca marche. Donc il me faudrait votre fichier pour voir ce qui ne va pas
      0
  8. Peguewende Messages postés 120 Statut Membre 1
     
    Bonjour voici mon fichier copier coller:

    Option Compare Database
    Option Explicit

    Private Sub btnlogIn_Click()
    Dim rs As Recordset

    Set rs = CurrentDb.OpenRecordset("T_User", dbOpenDynaset)
    rs.FindFirst ("pass='" & Me.txt_Pass & "'")
    If Not rs.EOF Then
    MsgBox ("ouvrir mon formulaire principal")
    Else
    MsgBox ("Erreur de Mot de Passe!")
    End If
    End Sub

    dans ma table j'ai deux enregistrement: T_User(id1,dary,root) puis T_User(id2,chloe,root2)
    pendant le test je saisie comme user(dary) et passeword(root) dans mon formulaire quand je clic sur le bouton il m'affiche ouvrir mon formulaire principal.
    je refais le test avec d'autre user et passeword qui ne figure pas dans la table T_User, il m'affiche le meme resultat apres clic sur le bouton
    ouvrir mon formulaire principal au lieu de erreur de mot de passe
    je ne sais pas ce qui se passe au juste. j'ai aussi essayé d'activer la bibliothèque DAO 3.6 qui est disponible dans les references mais une erreur s'affiche "erreur du chargement de la bibliotheque"
    je sais plus quoi faire?
    je trouve pas le bug vue que suis pas experimente en VBA?
    merci bien d'accorder une attention à mon probleme.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Quand je demande votre fichier, c'est de votre base qu'il est question, pas du code copier/coller, car il faut que je vois la table ou vous mettez le ou les mots de passe pour tester ce code avec vos donnees !!!
      0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    En effet, petit probleme, ai modifie le fichier avec rs.NoMatch et la ca marche. Ai mis controle User et Pass

    https://www.cjoint.com/c/EFqkg3Dh6mf

    A+
    0
  10. Peguewende Messages postés 120 Statut Membre 1
     
    ouff de soulagement! ça marche parfaitement. grand merci
    je vais maintenant de l'ameliorer!
    touts mes remerciments pour ce geste!
    0