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 :

Case a cocher suivant sélection LD


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut Case a cocher suivant sélection LD
    Bjr
    J'en appel encore une fois a vous, j'ai rien trouvé sur le net et sur le forum qui ce rapproche a mon problème, qui n'en est pas véritablement un, mais plutôt a mon ignorance. Bref voici problème.

    J'ai une liste déroulante Communes qui récupère la liste des communes faisant partie de 4 tournées Tun, Tdeux, Ttrois, Tquatre de la table T_ComTour
    J'ai un groupe d'option TunaQu ou je coche la tournée sur laquel sera le patient, car une commune peux être sur plusieurs tournées et un patient que sur une tournée.
    Je voudrais que en sélectionnant une commune dans ma liste soit grisé ou invisible les tournées ne faisant pas partie de la commune, mais que je puisse sélectionner l'une ou l'autre des tournées.

    Ex :
    CommuneUne Sur Tun et Tquatre (Case a cochée visible Tun, Tquatre/ Case a cochée grisé ou invisible Tdeux, Ttrois)
    PatientUn Sur CommuneUne j'ai le choix de cocher Tun ou Tquatre

    Merci

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.

    Un code comme suit devrait convenir, à mettre sur l'événement "Sur activation" du formulaire et sur "Après mise à jour" de la liste déroulante des communes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If Commune= "CommuneUn" Then
    CaseTUn.Visible = True
    CaseTDeux.Visible = False
    CaseTTrois.Visible = False
    CaseTQuatre.Visible = True
    ElseIf Commune= "CommuneDeux" Then
    CaseTUn.Visible = False
    CaseTDeux.Visible = False
    CaseTTrois.Visible = True
    CaseTQuatre.Visible = True
    ElseIf  'et ainsi de suite, énumération des diverses possibilités
    ...
    End If
    Si tu veux seulement les rendre inactives plutôt qu'invisibles, tu remplaces Visible par Enabled.
    Evidemment, tu remplaces CaseTUn, CaseTDeux par les noms des cases à cocher de ton groupe d'options, et CommuneUn, CommuneDeux par les items de la liste, et Commune par le nom de cette liste dans ton formulaire...
    Si j'ai bien compris ce que tu veux!
    Cordialement

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Encore une fois RobiPMS vient a mon secours c'est sympa merci.

    Si je comprends bien CommuneUn, CommuneDeux par les items de la liste est a remplacer par le nom des communes, mais si (ce qui arrive) la commune Paris (exemple) qui est sur la tournée une et deux aujourd'hui passe sur la tournée trois demain, je serais obligé de remodifier le code ??

    Merci RobiPMS

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Dans ce cas de figure, oui...
    Et, à priori, sans en savoir plus sur la manière dont sont organisées tes données, je ne vois pas comment faire un code "passe-partout" qui fonctionne sans adaptation quels que soient les changements de tournées concernées par une commune.
    Si je vois une solution, je reposterai!

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    arrffff ça ne m'arrange pas du tout.
    Si tu as besoin de quoi que ce soit pour élucider mon problème n'hésite pas.
    En attendant moi et mes collègues te remercions beaucoup.
    Bonne journée

  6. #6
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Comment sont enregistrées tes données?
    Tu as une table avec les communes, et une table avec les tournées? Combien de communes, et combien de tournées? Tu renseignes les communes dans la table des tournées, ou bien les tournées dans la table des communes? Ou tu as une table avec les communes et la ou les tournées pour chaque commune? Ou l'inverse?
    Et enfin, je suppose que dans la table des patients, tu as simplement la tournée qu'on lui a attribuée?
    Dans tous les cas, si tu peux récupérer les noms des tournées concernées par une commune, on pourra adapter le code.

  7. #7
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Bsr RobiPMS
    Ma base se compose de:
    Une Table T_ListCommunes avec trois champs : NumCommune; commune; cp (117 communes) j'ai sélectionné une liste d'après les codes postaux du secteur)
    Une Table T_ListTourneePat avec deux champs : NumListTourn; Tournées (10 Tournées)
    1. Tournée Une
    2. Tournée Deux
    3. Tournée Trois
    4. Tournée Quatre
    5. Tournée Une Dimanche
    6. Tournée Deux Dimanche
    7. Tournée Trois Dimanche
    8. Visite Cabinet
    9. Petite Tournée
    10. Tournée de Garde
    Une table T_ComTour avec treize champs, N°id, Communes, CodePostal et les dix tournées.
    Dans mon formulaire F_Patients j'ai tous des zones d textes habituels, nom, prénom etc et une zone de liste déroulante SelectCom issue d'une table T_ComTour qui me sert à sélectionner la commune (qui fait partie uniquement d'une ou plusieurs tournée) du patient et un groupe d'option case a cocher qui me sert à sélectionner une tournée dans le cas ou une commune a plusieurs tournées.
    Dans un autre formulaire F_ComTour j'ai une liste déroulante issue de T_ListCommunes et dix groupes d'option case à cocher (un groupe par tournée) qui me sert à créer ou modifier les tournées et qui est enregistré dans T_ComTour
    Et en effet dans ma table T_Patients j'ai un champ NumeTourn.
    Voila bon c'est peu être pas la plus simple mais c'est la seul façon de faire que j'ai trouvé.
    Merci encore RobiPMS

  8. #8
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    OK, pascal5.

    Une question : dans la table T_ComTour, les dix champs "tournées" contiennent quoi? Un champ Oui/Non? Et tu les a nommés comment?
    Je vois une solution... J' attends ta réponse pour tester.

  9. #9
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Bjr RobiPMS
    Les champs sont aux format texte.
    Nommé :
    TournéeUne, TournéeDeux, TournéeTrois, TournéeQuatre, TournéeDimUne, TournéeDimDeux, TournéeDimTrois, TournéeGarde, PetiteTournée, VisiteCabinet

    Encore une fois je te tien a te remercier.

  10. #10
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    OK.
    Donc, c'est du texte, et tu y mets quoi comme texte. Peux-tu me donner en exemple le contenu d'une ligne?

  11. #11
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Photo de ma table

  12. #12
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Comme expliqué dans un post plus haut, les données sont issue de la table T_ListTourneePat.

  13. #13
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Voici une solution (que j'ai testée et qui fonctionne).
    1. Tu aménages la liste déroulante de façon à y inclure tes champs "Tournées" (cette liste va chercher son contenu dans la table T_ComTour, comme tu l'as indiqué dans ton 7° post).
    Donc, dans les propriétés de la liste :
    Format -> nbre colonnes : 12
    largeur colonnes : 2,545cm;1cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm;0cm

    (J'ai défini la taille des colonnes "Tournées" sur 0cm pour qu'on ne les voit pas, mais si tu veux, tu les mets sur 1 et élargis la taille de la liste déroulante pour que tout apparaisse)

    Données -> Contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT T_ComTour.Communes, T_ComTour.CP, T_ComTour.TournéeUne, T_ComTour.TournéeDeux, T_ComTour.TournéeTrois, T_ComTour.TournéeQuatre, T_ComTour.TournéeDimUne, T_ComTour.TournéeDimDeux, T_ComTour.TournéeDimTrois, T_ComTour.TournéeGarde, T_ComTour.PetiteTournée, T_ComTour.VisiteCabinet FROM T_ComTour ORDER BY T_ComTour.Communes;
    Colonne liée : 0

    Evénement -> Après mise à jour : procédure événementielle
    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
    47
    48
    49
    50
    51
    52
    Private Sub SelectCom_AfterUpdate()
    If [SelectCom].[Column](2) = "TournéeUne" Then
    T1.Visible = True
    Else
    T1.Visible = False
    End If
    If [SelectCom].[Column](3) = "TournéeDeux" Then
    T2.Visible = True
    Else
    T2.Visible = False
    End If
    If [SelectCom].[Column](4) = "TournéeTrois" Then
    T3.Visible = True
    Else
    T3.Visible = False
    End If
    If [SelectCom].[Column](5) = "TournéeQuatre" Then
    T4.Visible = True
    Else
    T4.Visible = False
    End If
    If [SelectCom].[Column](6) = "TournéeDimUne" Then
    T5.Visible = True
    Else
    T5.Visible = False
    End If
    If [SelectCom].[Column](7) = "TournéeDimDeux" Then
    T6.Visible = True
    Else
    T6.Visible = False
    End If
    If [SelectCom].[Column](8) = "TournéeDimTrois" Then
    T7.Visible = True
    Else
    T7.Visible = False
    End If
    If [SelectCom].[Column](9) = "TournéeGarde" Then
    T8.Visible = True
    Else
    T8.Visible = False
    End If
    If [SelectCom].[Column](10) = "PetiteTournée" Then
    T9.Visible = True
    Else
    T9.Visible = False
    End If
    If [SelectCom].[Column](11) = "VisiteCabinet" Then
    T10.Visible = True
    Else
    T10.Visible = False
    End If
    End Sub
    J'ai nommé T1, T2, ... T10 tes cases à cocher dont je ne connais pas le nom dans le formulaire. Tu dois donc les remplacer dans ce code par les noms de tes cases. Et vérifie que je n'ai pas fait d'erreur dans les noms de tables, champs, etc...
    Attention à ceci : dans la liste déroulante, la colonne des communes porte le numéro 0, la colonne du CP porte le numéro 1 (c'est une convention d'Access, la première colonne porte toujours le numéro 0), c'est pourquoi la première condition, qui concerne la première tournée, porte dans le code le numéro 2.

    Ainsi, quand tu choisis une commune, les tournées concernées sont les seules affichées, et chaque fois que tu modifieras le contenu de tes tournées (càd le contenu de T_ComTour), le code restera fonctionnel, puisque le contenu de la liste déroulante sera automatiquement à jour.
    Voilà. Si tu as des questions, reviens les poser.
    Bon travail!

  14. #14
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Je vais attaquer et te tiens au courant.
    Bon Appétit
    Merci

  15. #15
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Bsr RobiPMS
    Ca marche presque, j'ai un soucis, les cases a cochées du groupe restent grisées (j'ai mis Enabled au lieu de Visible) quelques soit la tournée sélectionnée.
    J'ai tous respecté ce que tu ma dits et cherché mais en vain.
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub SelectCom_AfterUpdate()
    If [SelectCom].[Column](2) = "TournéeUne" Then
    TUne.Enabled = True
    Else
    TUne.Enabled = False
    End If
    If [SelectCom].[Column](3) = "TournéeDeux" Then
    TDeux.Enabled = True
    Else
    TDeux.Enabled = False
    End If
    If [SelectCom].[Column](4) = "TournéeTrois" Then
    TTrois.Enabled = True
    Else
    TTrois.Enabled = False
    End If
    If [SelectCom].[Column](5) = "TournéeQuatre" Then
    TQuatre.Enabled = True
    Else
    TQuatre.Enabled = False
    End If
    If [SelectCom].[Column](6) = "TournéeDimUne" Then
    TDimUne.Enabled = True
    Else
    TDimUne.Enabled = False
    End If
    If [SelectCom].[Column](7) = "TournéeDimDeux" Then
    TDimDeux.Enabled = True
    Else
    TDimDeux.Enabled = False
    End If
    If [SelectCom].[Column](8) = "TournéeDimTrois" Then
    TDimTrois.Enabled = True
    Else
    TDimTrois.Enabled = False
    End If
    If [SelectCom].[Column](9) = "TournéeGarde" Then
    TGarde.Enabled = True
    Else
    TGarde.Enabled = False
    End If
    If [SelectCom].[Column](10) = "PetiteTournée" Then
    PTournée.Enabled = True
    Else
    PTournée.Enabled = False
    End If
    If [SelectCom].[Column](11) = "VisiteCabinet" Then
    ViCabinet.Enabled = True
    Else
    ViCabinet.Enabled = False
    End If

  16. #16
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    La procédure, je l'ai testée, elle est correcte : dans une appli, j'ai créé une table identique à la tienne, un groupe d'option avec dix cases à cocher que j'ai nommées T1, T2, etc (et que tu as renommées TUne, etc, pas de problème avec ça) et une liste déroulante dont je t'ai fourni les caractéristiques. Je n'ai pas testé le "Enabled" mais il n'y a pas de raison que ça marche autrement que "Visible". Et moi, j'ai bien le résultat attendu. Donc, il y a un couac quelque part.
    Et je ne vois q'une chose : dans ta capture d'écran, je vois que tu as orthographié le contenu des champs (les tournées telles que tu les as encodées) avec des espaces entre les mots (Tournée Une, Tournée Deux, etc) et moi, dans mon code, j'ai omis les espaces, et dans ma table aussi, bien entendu.
    Donc, si tu as des espaces dans les appellations des tournées encodées dans ta table, les divers critères de comparaison doivent eux aussi comporter les mêmes espaces :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [SelectCom].[Column](2) = "Tournée Une"
    Conclusion, vérifie l'orthographe, espaces compris, des divers critères de comparaison qui sont, non pas les noms des champs de la table, mais bien les items encodés : comme tu encodes "Tournée Une" dans un champ nommé "TournéeUne", ça prête à confusion
    Bref, tu corriges ce qui est entre guillemets dans le code pour que ça corresponde à ce qui est encodé dans la table T_ComTour, et pas au nom des champs. Et ça devrait aller!
    Bonne soirée.

  17. #17
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    En effet c'était une erreur a ce niveau.
    J'ai remplacé les valeurs "TournéeUne" par les valeurs des cases a cochées "1 à 10" et ca marche, car même si je remplaçais "TournéeUne" par "Tournée Une" ça ne fonctionné pas, peu être une histoire d'accent ou d'espace non toléré ??.
    En tout cas ça fonctionne comme je voulais.
    Merci beaucoup RobiPMS

Discussions similaires

  1. Case a cocher visible ou non suivant menu deroulant
    Par schwinny dans le forum Access
    Réponses: 11
    Dernier message: 28/07/2006, 09h55
  2. [WebForms]Ajout d'une case a cocher dans l'entête d'un DataGrid
    Par julio84 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 02/06/2005, 16h50
  3. Probleme de cases a cocher...
    Par linou dans le forum Web
    Réponses: 3
    Dernier message: 25/05/2005, 15h37
  4. Réponses: 3
    Dernier message: 10/05/2005, 16h20
  5. [Swing]Case a cocher JTable, et Renderer
    Par bibx dans le forum Composants
    Réponses: 16
    Dernier message: 29/12/2004, 15h49

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