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

Access Discussion :

confirmation du nouveau password


Sujet :

Access

  1. #1
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut confirmation du nouveau password
    bonsoir tout le monde,
    j'ai un souci avec la confirmation du mot de passe quand on veut le changer via un formulaire.
    Si quelqu'un peut jeter un oeil sur mon script pour me dire où ça coince... parce que c nce forcement ces chose là !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande9_Click()
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        If (IsNull(Password) Or (Password = vbNullString)) Then
            MsgBox "VEUILLEZ SAISIR UN PASSWORD VALIDE !"
            Me.Password.SetFocus
        Else
            DoCmd.Close
            MsgBox "MODIFICATION DU MOT DE PASSWORD ENREGISTREE"
        End If
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Password_AfterUpdate()
        Me.Password = LCase$(Nz(Password))
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Password2_AfterUpdate()
        Me.Password2 = LCase$(Nz(Password))
        If Me.Password2.Value = Me.Password.Value Then
            Commande9.SetFocus
        Else
            MsgBox "Erreur de saisie, veuillez ressaisir votre mot de passe"
        End If
    End Sub
    Sachant que password2 (pour confirmation) est un champ independant.
    Merci d'avance.

  2. #2
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Si quelqu'un peut jeter un oeil sur mon script pour me dire où ça coince...
    En quoi ça "coince" ?

    As tu des messsages d'erreur ?

  3. #3
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour patrick
    Je vois que tu es toujours dans ton formulaire de mot de passe

    Je pense que ce qui 'coince', c'est qu'après la vérification du MdP dans les champs Password et Password2, la mise à jour sur ta table ne doit pas s'effectuer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Commande9_Click()
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        If (IsNull(Password) Or (Password = vbNullString)) Then
            MsgBox "VEUILLEZ SAISIR UN PASSWORD VALIDE !"
            Me.Password.SetFocus
    Ce que je ne comprends pas ici, c'est pourquoi tu exécute une commande DoCmd............., avant tes conditions de tests pour vérifier si ton champ Password n'est pas vide
    Ou alors, je n'ai pas du tout compris ton problème

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            DoCmd.Close
            MsgBox "MODIFICATION DU MOT DE PASSWORD ENREGISTREE"
    Je dis peut être une bêtise mais ne fermes-tu pas ton formulaire avant d'afficher ta MsgBox ??

  5. #5
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Je dis peut être une bêtise mais ne fermes-tu pas ton formulaire avant d'afficher ta MsgBox ??
    Si Si, c'est une bêtise

    Teste le code sur un formulaire et tu verras que le form se ferme normalement et que la boîte de message s'affiche correctement.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par FreeAccess
    Re,


    Si Si, c'est une bêtise

    Teste le code sur un formulaire et tu verras que le form se ferme normalement et que la boîte de message s'affiche correctement.
    Oui j'ai testé juste après avoir écrit mon message.
    Me coucherais moins con ce soir

  7. #7
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Bon ben" FreeAccess" a mieux compris le problème que moi

    Mais !!!.......J'insiste par rapport à mon post précédent

  8. #8
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    j'ai modifié quelques incoherences... dans ce p.... de code.
    Mais, je precise :
    "password1" correspond à la saisie du nouveau PWD qui ira donc s'inscrire dans la table.
    "password2" c'est le champ où on ressaisit habituellement le PWD pour verifier... lui est un champ independant.
    Ce qui fonctionne : la casse en minuscule, le filtrage des caracteres interdits, l'enregistrement dans la table.
    Ce qui ne fonctionne pas : la comparaison entre les 2 valeurs .... si je tape "aaa" dans password1 et "bbb" dans password2, je n'ai pas le message d'erreur et password2 prend la valeur de password1 sur sa perte focus.
    Cest là dessus que je butte...
    voici le code :
    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
     
    Private Sub Password1_AfterUpdate()
    Me.Password1 = LCase$(Nz(Password1))
    If (IsNull(Password1) Or (Password1 = vbNullString)) Then
    MsgBox "VEUILLEZ SAISIR UN Password1 VALIDE !"
    Me.Password1.SetFocus
    Else
    Me.Password2.SetFocus
    End If
    End Sub
    Private Sub Password2_AfterUpdate()
    Me.Password2 = LCase$(Nz(Password1))
    If (IsNull(Password2) Or (Password2 = vbNullString)) Then
    MsgBox "VEUILLEZ SAISIR UN Password1 VALIDE !"
    Me.Password2.SetFocus
    End If
    If Me.Password2.Value = Me.Password1.Value Then
    Commande9.SetFocus
    Else
    MsgBox "Erreur de saisie, veuillez retaper votre mot de passe"
    End If
    End Sub
    Private Sub Commande9_Click()
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    DoCmd.Close
    MsgBox "MODIFICATION DU MOT DE PASSE ENREGISTREE"
    End Sub

  9. #9
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Quand tu post ton code avec plusieurs procédure séparent les c'est plus agréable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Password1 = LCase$(Nz(Password1))
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Password2 = LCase$(Nz(Password1))
    Tu as en une érreur dans la seconde ligne

  10. #10
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Salut Dolphy, merci pour ton coup d'oeil acéré ! j'ai rectifié l'erreur que tu as relevée, et y'a deja un mieux password2 ne prend plus la valeur de password1.
    Il me reste juste le probleme de comparaison des valeurs qui ne se fait pas.
    Apparemment c'est ici qu'il y a une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If Me.Password2.Value = Me.Password1.Value Then
    Commande9.SetFocus
    Else
    MsgBox "ERREUR DE SAISIE, VEULILEZ RETAPER VOTRE MOT DE PASSE"
    Me.Password2.SetFocus
    End If
    Qu'est-ce que t'en penses ?

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    c'est le moment d'apprendre à ce servir du mode debug ...
    place un point d'arrêt sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.Password2.Value = Me.Password1.Value Then
    en utilisant la touche F8 ... lance ton code puis utilise les "bulles d'aides" en passant la souris sur les 2 variables .. histoire de voir leur valeur..;

  12. #12
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    En quoi cela ne fonctionne pas ?

    le code est correcte, la comparaison peut se faire. Dis nous ce quis se passe rééllement sur ton form.

  13. #13
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    ET bien il n'y a pas de problème......simplement le code fait ce que tu lui dit de faire
    Regarde le code que tu as sur l'événement de ton bouton de commande9
    Il n'empêche en rien l'exécution de cette commande, même si tes deux mots de passe ne correspondent pas
    Ne rend visible ton bouton de commande, que si les tests de tes deux champs sont correctes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Password2_AfterUpdate()
    Me.Password2 = LCase$(Nz(Password2))
    If (IsNull(Password2) Or (Password2 = vbNullString)) Then
    MsgBox "VEUILLEZ SAISIR UN Password1 VALIDE !"
    Me.Password2.SetFocus
    Else
    If Me.Password2.Value = Me.Password1.Value Then
    Me.Commande9.Visible = True
    Je pense qu'une petite chose comme cela irait beaucoup mieux...
    A tester

  14. #14
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Aprés relecture et test, je pense que la solution devrait plutôt être cela:
    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
    Private Sub Commande9_Click()
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    DoCmd.Close
    MsgBox "MODIFICATION DU MOT DE PASSE ENREGISTREE"
    End Sub
     
    Private Sub Password1_AfterUpdate()
    If (IsNull(Password1) Or (Password1 = vbNullString)) Then
         MsgBox "VEUILLEZ SAISIR UN Password1 VALIDE !"
         Me.Password1.SetFocus
    Else
         Me.Password1 = LCase$(Nz(Password1))
         Me.Password2.SetFocus
    End If
    End Sub
     
     
    Private Sub Password2_AfterUpdate()
    If (IsNull(Password2) Or (Password2 = vbNullString)) Then
         MsgBox "VEUILLEZ SAISIR UN Password1 VALIDE !"
         Me.Password2.SetFocus
    Else
         Me.Password2 = LCase$(Nz(Password2))
     
    If Me.Password2.Value = Me.Password1.Value Then
         Me.Commande9.Visible = True
    Else
         MsgBox "Erreur de saisie, veuillez retaper votre mot de passe"
         Me.Password2.SetFocus
    End If
    End If
    End Sub
    Teste voir tout cela, et dit nous ou ça coince

  15. #15
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    bon ça y est, j'ai trouvé
    voici mon code et ca controle nickel :
    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
     
    Option Compare Database
    Private Sub Form_KeyPress(KeyAscii As Integer)
    If (KeyAscii > 31 And KeyAscii < 48) _
    Or (KeyAscii > 57 And KeyAscii < 65) _
    Or (KeyAscii > 90 And KeyAscii < 97) _
    Or (KeyAscii > 122 And KeyAscii < 127) _
    Or (KeyAscii > 127) Then
    MsgBox "CE CARACTERE EST INTERDIT"
    KeyAscii = 0
    End If
    End Sub
    Private Sub Commande9_Click()
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    If ((IsNull(Password1) Or (Password1 = vbNullString)) Or (IsNull(Password2) Or _
    (Password2 = vbNullString)) Or (Me.Password1.Value <> Me.Password2.Value)) Then
    MsgBox "ERREUR DE SAISIE VEUILLEZ RETAPER VOTRE MOT DE PASSE!"
    Me.Password1.SetFocus
    Else
    DoCmd.Close
    MsgBox "MODIFICATION DE VOTRE MOT DE PASSE ENREGISTREE"
    End If
    End Sub
    Par contre si tu sais comment forcer la casse en minuscule ou en majuscule... je suis preneur because l'ancien script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Password2_AfterUpdate()
    Me.Password1 = LCase$(Nz(Password))
    Me.Password2 = LCase$(Nz(Password))
    End Sub
    aligne la valeur de PWD2 sur celle de PWD1 je commprends pas trop la relation de cause a effet mais bon ! Donc si tu as une idée elle sera la bienvenue.

  16. #16
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    OUPS ! je viens de voir l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Password1 = LCase$(Nz(Password))
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Password1 = LCase$(Nz(Password1))

  17. #17
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Donc c'est OK, tu n'as plus de problème
    Alors Tag Résolu.
    Bonne continuation

  18. #18
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    merci à tous pour votre collaboration voici mon code final qui marche pil poil

    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
     
    Option Compare Database
    Private Sub Form_KeyPress(KeyAscii As Integer)
    If (KeyAscii > 31 And KeyAscii < 48) _
    Or (KeyAscii > 57 And KeyAscii < 65) _
    Or (KeyAscii > 90 And KeyAscii < 97) _
    Or (KeyAscii > 122 And KeyAscii < 127) _
    Or (KeyAscii > 127) Then
    MsgBox "CE CARACTERE EST INTERDIT"
    KeyAscii = 0
    End If
    End Sub
    Private Sub Password2_AfterUpdate()
    Me.Password1 = LCase$(Nz(Password1))
    Me.Password2 = LCase$(Nz(Password2))
    End Sub
    Private Sub Commande9_Click()
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    If ((IsNull(Password1) Or (Password1 = vbNullString)) Or (IsNull(Password2) Or _
    (Password2 = vbNullString)) Or (Me.Password1.Value <> Me.Password2.Value)) Then
    MsgBox "ERREUR DE SAISIE VEUILLEZ RETAPER VOTRE MOT DE PASSE!"
    Me.Password1.SetFocus
    Else
    DoCmd.Close
    MsgBox "MODIFICATION DE VOTRE MOT DE PASSE ENREGISTREE"
    End If
    End Sub

Discussions similaires

  1. Probleme authentification (nouveau password)
    Par kurosaki91 dans le forum Hébergement
    Réponses: 0
    Dernier message: 18/11/2014, 12h46
  2. De nouveau perdu avec les user, login et password
    Par olibara dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 22/11/2011, 16h14
  3. hashage MD5 et génération de nouveau password
    Par ighost dans le forum ASP.NET
    Réponses: 3
    Dernier message: 21/11/2010, 23h46
  4. [MySQL] envoie d'un nouveau password par mail
    Par BenjP95 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/06/2010, 10h59
  5. crée un nouveau Utilisateur avec password
    Par icekev dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/08/2009, 18h00

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