IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Création d'un code pour ajouter un mot de passe sur le bon identifiant. [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut Création d'un code pour ajouter un mot de passe sur le bon identifiant.
    Bonjour,

    je me tourne encore fois vers le Forum qui m'a toujours été d'un grand aide lorsque je bloquais quelque part !
    Cette fois ci c'est au niveau de mon formulaire de connexion.

    Mon application est multi utilisateur, j'ai donc une BD frontale et dorsale.

    °Sur la dorsale j'ai une table T_users(TRIGRAMME, NOM, PRENOM, PASSWORD). Cette table est lié à la frontale.
    °Sur la frontale j'ai une Table T_User(TRIGRAMME) qui a une relation avec la table lié T_users. Le but de cette table est d'enregistrer le TRIGRAMME de la personne qui se connecte. Cela me permet par la suite de venir filtrer les enregistrements de ma table principale.

    Au niveau de la connexion il n'y a pas de soucis, ce que je souhaite réaliser c'est, de donner le moyen à l'utilisateur de créer sont mot de passe si il en a pas. Le principe est que, lorsque qu'il sélectionne son identifiant dans la liste dérroulante et qu'il clic sur la zone de texte mot de passe, une fonction Dlookup recherche si il y a une valeur dans le champ PASSWORD de la table T_users. Si le Dlookup retourne NULL alors ouverture d'un formulaire de saisie du nouveau mot de passe ou affichage d'une zone de texte (dans le form connexion) a voir ce qui est le mieux.

    La ou je bloque c'est au niveau du code. En fonction de l'identifiant sélectionné,le nouveau mot de passe doit venir s'enregistrer sur l'enregistrement correspondant dans la table T_users

    voici mon code pour la connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Private Sub Commande0_Click()
    Dim db As DAO.Database
    Dim sql, User_id As String
    Dim Rs As DAO.Recordset
     
    Static i As Byte
     
    sql = "SELECT * FROM T_users WHERE TRIGRAMME =  '" & Me.txt_user & "' AND PASSWORD ='" & Me.txt_pass & "';"
     
    Set db = CurrentDb
    Set Rs = db.OpenRecordset(sql)
    If Not Rs.EOF Then
    DoCmd.OpenForm "Menu_utilisateur", acNormal, , , , acWindowNormal
    DoCmd.Close acForm, "F_CONNEXION"
     
    User_id = Rs("TRIGRAMME").Value
    ' Sauvegarde ds table T_User
    Rs.Close
    db.Execute "DELETE FROM T_User"
    Set Rs = db.OpenRecordset("T_User")
    Rs.AddNew
    Rs("TRIGRAMME") = User_id
    Rs.Update
    Rs.Close
     
    Else
     
    MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
    DoCmd.Hourglass False
    i = i + 1
     
    End If
     
    If i = 3 Then
    DoCmd.Hourglass False
    MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
    DoCmd.Quit
    End If
     
    End Sub
    et le Dlookup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub txt_user_LostFocus()
    Dim TN As Variant
     TN = DLookup("[PASSWORD]", "[T_users]", "[TRIGRAMME]='" & Me.txt_user & "'")
     If IsNull(TN) Then
     
    "ouverture du form creation MDP ou affichage zone de texte pour saisie"
     
    Else
    End If
    End Sub

    je ne vois vraiment pas comment faire, je débute en VBA et j'ai été aidé pour les codes présent ci dessus. Si quelqu'un avait une piste ca serait vraiment bien...

    Merci d'avance !!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    le DlookUp va renvoyer null aussi si le trigramme est absent de la table, or, si tu souhaites que seuls les utilisateurs référencés puissent se connecter, il faudrait peut-être procéder autrement.

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    l'application est développé pour un besoin spécifique de l'entreprise. Seul une dizaine de personnes y auront accès . Je vais créer moi même les enregistrements (trigramme, nom et prénom) au départ.

    La responsable des personnes qui utlisent l'appli aura accès à la partie administrateur. C'est elle qui ajoutera un nouvel utilisateur (trigramme,nom, prénom) ou en supprimera.

    Lors de sa première connexion l'utilisateur verra son Nom/prénom dans la liste déroulante et donc devra créer son nouveau mot de passe.

    Ce n'est pas une sécurité très poussé mais cela leur suffit amplement c'est pour ça Il n'y aura donc pas d'enregistrement sans TRIGRAMME

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Je comprends bien, mais ça ne change pas le principe.
    Concrètement, je dirais que le service "Modifier mot de passe" ne peut être rendu qu'à un utilisateur connecté à la base.
    En clair, c'est après l'authentification de l'utilisateur qu'il faut proposer ou non la modification du mot de passe et pas avant.

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Le problème c'est qu'une personne qui veut se connecter pour la première fois à l'appli n'a pas de mot de passe, il n'est pas encore créé. l'administrateur aura ajouté un nouvel enregistrement dans T_users (trigramme, nom, prénom) correspondant à ce nouvel utilisateur mais pas de mot de passe, c'est à l'utilisateur de le créer...

    C'est pour cela que je souhaitais mettre en place ce système dans le formulaire de connexion.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    c'est juste que je trouve étrange le procédé permettant à un utilisateur de modifier son compte avant de s'être connecté.
    Dans la mesure, où l'utilisateur peut accéder à son compte et le modifier sans connexion pourquoi ne pas lui permettre de se connecter directement et suite à cette connexion lui conseiller vivement de modifier son mot de passe.
    Ou alors fournir un mot de passe par défaut à tout nouvel utilisateur.

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Oui c'est vrai que c'est pas génial j'avoue... N'importe qui pourrait créer le mot de passe d'une autre personne en sélectionnant son nom dans la liste déroulante. J'ai finalement réussi à faire ce que je voulais (requête update). Je vais pour le moment rester dans cette configuration. J'évoluerais la chose plus tard. Cela convient à mes responsables donc...

    Ou alors fournir un mot de passe par défaut à tout nouvel utilisateur
    je pense que cela sera la solution de départ pour tout nouvel utilisateur. Ce que j'ai actuellement mis en place servira pour la modification du mot de passe après connexion.

    merci en tout cas pour tes conseils.

    Bonne continuation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une fenêtre pour changer un mot de passe
    Par beginner1 dans le forum WinDev
    Réponses: 4
    Dernier message: 09/08/2012, 14h56
  2. code d'un bouton pour contrôle de mot de passe
    Par narr255 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/10/2010, 14h22
  3. [Batch] Batch pour ajouter un mot dans un txt
    Par AZzjeioafh dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 20/09/2009, 11h25
  4. Réponses: 4
    Dernier message: 04/06/2007, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo