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 :

[VBA]Problème de passage dans une boucle


Sujet :

VBA Access

  1. #1
    En attente de confirmation mail
    Inscrit en
    Mars 2007
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 80
    Points : 53
    Points
    53
    Par défaut [VBA]Problème de passage dans une boucle
    coucou

    j'ai un petit soucis, depuis que j'ai rajouté uen condition (celle en gras), le code ne passe pas dans la boucle.

    j'ai cherché et pas trouvé la cause. pourriez vous m'aidez? merci


    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 BtnSauvegarder_Click()
    Me.Requery
    
    Dim sql As String
    
    Dim rs
    Static I As Byte
    sql = "SELECT * FROM Identifiant WHERE Login = '" & Me.LMIdentifiant & "' AND MDP ='" & Me.AncienMDP & "';"
    Set rs = CurrentDb.OpenRecordset(sql)
    
    If Not rs.EOF Then
    'En fonction de la valeur de l"utilisateur"....
        If [me.NouveauMDP = " "] Then
            MsgBox "Veuillez saisir un nouveau mot de passe.", vbCritical
        Else
            DoCmd.RunSQL "Update Identifiant SET MDP= '" & Me.NouveauMDP & "' WHERE Login = '" & Me.LMIdentifiant & "';"
            Me.NouveauMDP = ""
            Me.LMIdentifiant = ""
            Me.AncienMDP = ""
        End If
        
    Else
        MsgBox "L'identifiant ou le mot de passe sont incorrects ", vbInformation
        I = I + 1
    End If
    
    If I = 3 Then
        MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
        DoCmd.Close
    End If
    
    End Sub

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 762
    Points
    7 762
    Par défaut
    Bonsoir,

    essaie de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Trim(Nz(me.NouveauMDP,"")) = "" Then
    ....
    A+

  3. #3
    En attente de confirmation mail
    Inscrit en
    Mars 2007
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    impeccable!!!!!!!!!!



    merci beaucoup pour l'efficacité et la rapidité hihi



    est ce que tu pourrais m'expliquer le code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Trim(Nz(me.NouveauMDP,"")) = "" Then
    c'est la 1er fois que je rencontre c'est terme.

    merci

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 762
    Points
    7 762
    Par défaut
    Bonsoir,

    Nz(expression, "") sert à remplacer expression par une chaîne vide ("") dans le cas ou expression est Null.
    Pour les chaînes de caractères, l'utilisation de Nz permet d'éviter deux contrôles successifs dans le cas ou on ne veut ni Null, ni "".

    Les comparaisons avec Null renvoient toujour Null, c'est donc problématique.
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Null <> "" renvoie Null
    Null  = "" renvoie Null
    
    Nz(Null, "") <> "" renvoie Faux
    Nz(Null, "")  = "" renvoie Vrai
    J'ai donc pris l'habitude d'utiliser Nz quand je ne m'interesse pas particulèrement à la valeur Null, pour ne plus poser de question

    La fonction Trim retire les espaces à gauche et à droite.
    " toto " devient "toto"
    " " devient ""

    Au final, avec un seul If, tu rejettes les mots passes Null, "", "&#160;", "&#160;&#160;", "&#160;&#160;&#160;", etc...

    A+

  5. #5
    En attente de confirmation mail
    Inscrit en
    Mars 2007
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    coucou

    merci beaucoup

    a++

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

Discussions similaires

  1. 256 passages dans une boucle 8 bit
    Par petitours dans le forum C
    Réponses: 5
    Dernier message: 09/02/2006, 13h25
  2. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. probleme de passage dans une boucle
    Par EssaiEncore dans le forum ASP
    Réponses: 16
    Dernier message: 15/02/2005, 17h39
  5. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19

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