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 :

[CHAMPS][VBA]Rendre visible ou invisible une liste déroulant si clic sur un check box


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut [CHAMPS][VBA]Rendre visible ou invisible une liste déroulant si clic sur un check box
    Voici l'information de mon pb. j'ai un formulaire pour la gestion des vaccins. J'ai un check box "Chk_TD" et une zone déroulante "Zone_List_TD_Lot". Si je clic sur mon check box je doit entre une information dans ma zone de liste déroulante.

    J'aimerais que lorsque je ouvre mon formulaire qu'il est seulement le check box "Chk_TD" de visible et si je clic sur ce dernier , il m'apparâit ma zone déroulante "Zone_List_TD_Lot" et m'oblige à rentrer une informations. Car il est primordiale de renseigner ce dernier. si un clic à été fait sur "Chk_TD".

    Dans mon formulaire pour l'instant je peux cliquer sur "Chk_TD" et laisser vide la zone de liste. Ce qui peux créer des erreur de compilations sur différents états futures.

    Si quelqu'un à une idées faite moi le savoir.


  2. #2
    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,
    ..il m'apparâit ma zone déroulante "Zone_List_TD_Lot" et m'oblige à rentrer une informations
    Généralement, une Zone de liste n'est pas faites pour cela.....mais plutôt pour effectuer un choix (même s'il y a possibilité d'ajouter une donnée à partir de cette ZDL..)
    Ne connaissant pas ton application, je pense que tu saisie des vaccins par rapport à un patient
    Pourquoi ne pas utiliser un simple sous-formulaire
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  3. #3
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Essai sur procedure clic du bouton a bascule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.Chk_TD.Value = 0 Then
    Me.Liste.Visible = True        
    Else
    Me.Liste.Visible = False
    end if
    en suite sur la procedure d'activation du form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Chk_TD.Value = -1
    Me.Liste.Visible = False

  4. #4
    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,
    ..J'aimerais que lorsque je ouvre mon formulaire qu'il est seulement le check box "Chk_TD" de visible et si je clic sur ce dernier , il m'apparâit ma zone déroulante "Zone_List_TD_Lot"...
    Sur l'événement "AprèsMAJ" de ta Case à cocher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Chk_TD_AfterUpdate()
    If Me.Chk_TD.Value = False Then
            Me.Zone_List_TD_Lot.Visible = False
        ElseIf Me.Chk_TD.Value = True Then
            Me.Zone_List_TD_Lot.Visible = True
        End If
    End Sub
    Ce type de code ne va agir que sur la propriété Visible/Invisible de ta Zone de Liste....
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    J'ai mal expliquer ma zone de liste , effectivement je veux effetuer un choix et non ajouter une donnée. Et voici plus d'info pour mon formulaire "sasie". dans ce dernier ce trouve l'information du patient ( Matricule,Nom, prénom etc etc. ) mon formulaire Contient également le Sous Formulaire SF_Vaccins qui me permet d'ajouter les vaccin recu pour ce Patient. Étant donné que le même patient peux revenir plusieurs fois le même formulaire fonctionne pour cette possibilté en utilisant une clé primaire ID de visite Sans doublon et une autre avec son matricule acceptant les doublons.

    Je sais pas si mes explications sont plus clairs. Merci de vôtre aide.


    Citation Envoyé par FreeAccess
    Bonjour,

    Généralement, une Zone de liste n'est pas faites pour cela.....mais plutôt pour effectuer un choix (même s'il y a possibilité d'ajouter une donnée à partir de cette ZDL..)
    Ne connaissant pas ton application, je pense que tu saisie des vaccins par rapport à un patient
    Pourquoi ne pas utiliser un simple sous-formulaire

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut Plus d'informations aux sujet de mon Sous Formulaire
    J'ai ajouter une photo avec mon sous formulaire ce qui vous donneras plus d'info avec une brèves explications de ce que je veux faire sur la photo.

  7. #7
    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
    Oui, j'avais bien compris ton problème concernant ta case à cocher....

    Donc que donne mon code sur ton application
    Car avec mon exemple, dès que tu coche cette case à cocher, ta liste déroulante devient visible et inversement dès que tu décoche...
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    Avec le code que vous m'avez donné, lorsque j'ouvre mon formulaire la zone liste est visible, si clique sur mon check box , elle reste visible , aussitot que le décoche elle disparait.

    Voici le code que j'ai appliqué selon vos recommendations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Chk_TD_AfterUpdate()
    If Me.Chk_TD.Value = False Then
            Me.Zone_List_TD_Lot.Visible = False
        ElseIf Me.Chk_TD.Value = True Then
            Me.Zone_List_TD_Lot.Visible = True
        End If
    End Sub


    Citation Envoyé par FreeAccess
    Oui, j'avais bien compris ton problème concernant ta case à cocher....

    Donc que donne mon code sur ton application
    Car avec mon exemple, dès que tu coche cette case à cocher, ta liste déroulante devient visible et inversement dès que tu décoche...

  9. #9
    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
    Avec le code que vous m'avez donné, lorsque j'ouvre mon formulaire la zone liste est visible, si clique sur mon check box , elle reste visible , aussitot que le décoche elle disparait.
    C'est normal.....pour que cela fonctionne correctement, il faut lors de la conception de ton formulaire, mettre la propriété Visible = non de ta Zone de liste.....
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  10. #10
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Desoler mais je ne suis pas trop d'accord avec toi FreeAccess car meme en mettant visible a non, si il sort et que sa liste est en visible quand il va rentrer sa liste sera encore visble Quand pense tu?

  11. #11
    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
    Mais je suis également tout à fait d'accord avec toi Renardo.....

    Simplement, je me contente de répondre à sa première question...avec les éléments en notre possession.
    J'aimerais que lorsque je ouvre mon formulaire qu'il est seulement le check box "Chk_TD" de visible et si je clic sur ce dernier , il m'apparâit ma zone déroulante "Zone_List_TD_Lot"...
    ...si il sort et que sa liste est en visible quand il va rentrer sa liste sera encore visble Quand pense tu?
    Oui, bien sur......mais ici j'ai pensé que sa case à cocher était indépendante et ne servait qu'a rendre Visible/Invisible sa Zone de liste...
    Pour l'instant je ne juge pas le bien fondé de ce qu'il veut effectuer.....
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut Plus de précisions sur ma demande.
    Dans ma base de donnée j'utilise 2 tables, la premières ce nomme "T_infos_Primaire" contient les champs suivant, la clé primaire "Matricule" , Grade , Nom , Prénom , Raison de la visite. Ma 2 ième table ce nomme "T_Vaccins" et contient les champs suivant , la clé primaire ("ID Visite" numéro auto ) 2ième clé "Matricule" îndexé avec doublon et tout les type de vaccin que j'uitilise telle que TD, Polio...Etc. Pour Chacun des Champs telle que (TD de type oui/non) il s'y retrouve également un champ Nommé (TD LOT de type Texte ). et ainsi de suite pour les autres vaccins.

    La source de mon formulaire de sasie est la table T_infos_Primaire et dans ce formulaire ce trouve un sous formulaire SF_Vaccins qui à pour source T_Vaccin.

    Dans mon travail de tout les jours si je donne un vaccin à une personne je doit absolument indiquer le # de lot associer à la dose donnée. C'est pour cette raison que le Champs TD Lot est primordial à renseigner si j'ai coché sur la case TD dans mon sous formulaire.


    Voici l'optique de ma demande, si un patient ce présente et que je le vaccine avec le TD je clique sur la case approprié et je doit séléctioner le lot dans ma zone de liste Zone_List_TD.

    La base de donées sera utilisé par différentes personnes et il ne sont pas tous des experts d'ordinateurs. Alors j'essaie de leur simplifier la vie. Et éviter des erreurs futures.

    C'est pour cette raison qu'il est préférable lorsque le SF_Vaccin est ouvert qu'il ai seulement les cases à cocher de visible. Si le patient à reçu le Vaccin TD je clique sur la case TD et il faudrait que access me fait apparaitre ma zone de liste en question qui ce trouve à être les numéros de lot pour ce vaccin seulement.

    Également il est à noter que chacune des zones de liste fonctionne sous une requête ainsi qu'une table de lot EX: Rqt_TD_Lot et sa source T_TD_Lot.

    Car un lot est valide pour plusieurs centaines de doses, et j'aimerais que lorsque je clique sur la case il rend visible la zone de list et inscrit par défaut la dernier valeur entré dans la table T_TD_Lot.




    J'en profite pour laisser à vôtre disposition ma base de données.

    Merci encore.


    Citation Envoyé par FreeAccess
    Mais je suis également tout à fait d'accord avec toi Renardo.....

    Simplement, je me contente de répondre à sa première question...avec les éléments en notre possession.



    Oui, bien sur......mais ici j'ai pensé que sa case à cocher était indépendante et ne servait qu'a rendre Visible/Invisible sa Zone de liste...
    Pour l'instant je ne juge pas le bien fondé de ce qu'il veut effectuer.....

  13. #13
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    je me suis permis de zieuter sur ta base et je te conseillerai très fortement de revoir ton modèle conceptuel de données. Comment feras-tu quand il faudra rajouter une nouveau vaccin ? Dans l'application actuelle, tu devras créer une table pour le vaccin et une table pour gérer les lots ! Bonjour la modification, tu vas y perdre tous tes cheveux.

    Tu trouveras ci-joint une image d'un mcd de ma conception répondant exactement au même besoin que le tien mais organisé différemment.
    Images attachées Images attachées  

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    Merci j'en suis à mes débuts avec access et je vais t'avouer que les relations j'y connais pas grand choses. Mais je vais suivre vos recommandations.



    Citation Envoyé par Xysyo
    salut,

    je me suis permis de zieuter sur ta base et je te conseillerai très fortement de revoir ton modèle conceptuel de données. Comment feras-tu quand il faudra rajouter une nouveau vaccin ? Dans l'application actuelle, tu devras créer une table pour le vaccin et une table pour gérer les lots ! Bonjour la modification, tu vas y perdre tous tes cheveux.

    Tu trouveras ci-joint une image d'un mcd de ma conception répondant exactement au même besoin que le tien mais organisé différemment.

  15. #15
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Ajoute se code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Current()
    Me.Chk_TD = 0
    Me.Zone_List_TD_Lot.Visible = False
    End Sub
    pour les autres liste tu ajoute a la suite

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut Merci
    Merci bcp Renardo, tout fonctionne à 100%. Vraiment incroyable ce forum



    Citation Envoyé par Renardo
    Ajoute se code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Current()
    Me.Chk_TD = 0
    Me.Zone_List_TD_Lot.Visible = False
    End Sub
    pour les autres liste tu ajoute a la suite

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/06/2013, 11h03
  2. Réponses: 4
    Dernier message: 13/07/2010, 12h20
  3. choix dans une liste déroulante et clic sur un bouton
    Par fado59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/06/2010, 15h16
  4. rendre visible ou invisible une texte box
    Par kuhnden dans le forum Access
    Réponses: 13
    Dernier message: 01/11/2005, 18h59
  5. rendre visible ou invisible une picture (icon)
    Par Robleplongeur dans le forum MFC
    Réponses: 3
    Dernier message: 18/05/2004, 12h23

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