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

IHM Discussion :

Arrêter code si condition If non remplie


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 103
    Points : 60
    Points
    60
    Par défaut Arrêter code si condition If non remplie
    Bonsoir à tous !

    J'ai un problème avec un test If dans un formulaire Access.

    Je fais un test pour vérifier si un champ texte est rempli.
    Si celui ci l'est, le code doit continuer sa route, sinon il doit s'arrêter et m'afficher un message.
    Il détecte bien le champ vide, m'affiche le message d'avertissement mais continu ensuite d'exécuter le code.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Me.txt_nclient = "" Then
    MsgBox "Veuillez renseigner le nom du client", vbInformation + vbOKOnly, "Nom du client absent"
     
    Else
    Ma question est donc de savoir comment arrêter l'exécution du code à l'affichage de mon MsgBox ?

    Merci,
    Maxime

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Ajouter Exit Sub à la suite du message dans le IF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IF condition THEN
    Message
    EXIT SUB
    ELSE
    Instructions
    END IF

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Essaye d'insérer avant toncomme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Me.txt_nclient = "" Then
    MsgBox "Veuillez renseigner le nom du client", vbInformation + vbOKOnly, "Nom du client absent"
    Exit sub
    Else

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 103
    Points : 60
    Points
    60
    Par défaut
    Merci les gars de votre réponse.
    Mais en ajoutant

    avant le Else il continue d'exécuter mon code :/

  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
    Bonjour,

    Sur quel événement place-tu ton code de vérification

    Sinon ceci fonctionne très bien (à placer sur l'événement 'Après MAJ' du contrôle à vérifier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub txt_nclient_AfterUpdate()
    'Vérifier que le champ de saisie ne soit pas vide
    If (IsNull(txt_nclient) Or (txt_nclient = vbNullString)) Then
        MsgBox "Veuillez renseigner le nom du client", 48, "Nom du client absent"
        Me.txt_nclient.SetFocus
        Exit Sub
    Else
    .......suite du code
    .......suite du code
    End if
    End Sub
    ...à voir

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 103
    Points : 60
    Points
    60
    Par défaut
    Merci de votre aide, j'ai fini par trouver une solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Me.txt_nclient = Null Then
    MsgBox "Veuillez renseigner le nom du client", vbInformation + vbOKOnly, "Nom du client absent"
    Exit sub
    Else
    Donc je rajoute bien le Exit Sub, mais je change les "" par Null et txt_nclient a prendre Null comme valeur sur une action précédente.
    C'est pas optimal comme code, mais ça fonctionne.

    Merci

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

Discussions similaires

  1. Do while - Condition non remplie
    Par malgach dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/10/2011, 14h09
  2. j'hallucine? conditions toute bete non rempli ?
    Par membreComplexe12 dans le forum C++
    Réponses: 2
    Dernier message: 27/01/2011, 10h40
  3. Ignorer image si condition non remplie
    Par Gunner4902 dans le forum Langage
    Réponses: 8
    Dernier message: 09/10/2008, 10h49
  4. [MySQL] Condition champ non rempli
    Par gaspard27 dans le forum PHP & Base de données
    Réponses: 32
    Dernier message: 27/08/2008, 01h01
  5. afficher une fenetre affichant les conditions non remplies
    Par doogybreton dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/01/2008, 00h03

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