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 :

bloquer un Oui/Non en fonction d'autre controles formulaires


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut bloquer un Oui/Non en fonction d'autre controles formulaires
    Bonjour j'ai une un controle oui non que je voudrait rendre accessible que si certain controle sont saisie (listes déroulantes et zone de texte) voila le code qui ne marche pas :

    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
    42
    43
    44
    45
    46
     
    Private Sub Form_Current()
    Me.valid.Enabled = False
    End Sub
     
    Private Sub activite_Exit(Cancel As Integer)
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
     
    Private Sub fiab_trans_Exit(Cancel As Integer)
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
     
    Private Sub managt_Exit(Cancel As Integer)
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
     
    Private Sub prev_Exit(Cancel As Integer)
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
     
    Private Sub taille_noto_Exit(Cancel As Integer)
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
     
    Private Sub decision_Exit(Cancel As Integer)
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
    Qu'es qui va pas la dedans ????
    Merci d'avance !!!!!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 91
    Points : 92
    Points
    92
    Par défaut
    Salut, pour ma part je commencerais par créer une fonction pour ne pas répéter le code à chaque fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub ControlOnOff()
    If Me.activite = "" Or Me.fiab_trans = "" Or Me.managt = "" Or Me.prev = "" Or Me.taille_noto = "" Or Me.decision = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub
    Ensuite il ne te reste plus qu'a appeler ta fonction à chaque fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub activite_Exit(Cancel As Integer)
    ControlOnOff
    End Sub
    Ceci ne resoud pas ton problème, essaie déjà de tester en ne mettant pas toutes les zones, pour vérifier si ce n'est pas une zone en particulier qui te pose problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub ControlOnOff()
    If Me.activite = "" Then
    Me.valid.Enabled = False
    Else: Me.valid.Enabled = True
    End If
    End Sub

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Merci de tes conseils, c'est vrai que c'est plus lisible maintenant !
    Par contre ca ne marche que que je mette comme conditions dans le code la case s'active des que je quitte la premiere condition (activité), je ne comprend vraiment pas la.....

    pleease help me... !!!!!!!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 91
    Points : 92
    Points
    92
    Par défaut
    Quand tu veux tester une valeur "Null" il vaut mieux utiliser la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Nz(Me.Activite, "") = "" Then
    Un petit tour du coté de l'aide en ligne sur la fonction Nz t'expliquera les choses mieux que moi.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Autre solution
    Le test des valeurs nulles est toujours un problème sous Access.
    J'ai déjà utilisé le système avec Nz dont on parle au-dessus.
    Si tu veux une technique simple et fiable voilà comment faire :
    If Me.text <> "" then
    'a faire si contient une valeur
    else
    ' a faire si par déduction ne contient pas (pas rien) donc contient rien...
    endif

    Un peu tordu mais fonctionne sans problème.
    C'est dans le test des valeurs nulles que se trouve ton problème.

Discussions similaires

  1. [AC-2003] Afficher une valeur fonction valeur autre sous-formulaire
    Par gelwc dans le forum Modélisation
    Réponses: 1
    Dernier message: 25/04/2014, 15h21
  2. fonction alert(); avec choix oui/non
    Par Emcy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/08/2007, 08h35
  3. Réponses: 3
    Dernier message: 24/02/2007, 23h18
  4. Menus : fonction "tri" non disponible sur un autre PC
    Par niavlys77 dans le forum Access
    Réponses: 1
    Dernier message: 02/05/2006, 19h39
  5. Décocher un oui/non en fonction d'autres valeurs
    Par mat75019 dans le forum Access
    Réponses: 5
    Dernier message: 28/04/2006, 14h15

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