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 :

Rendre visible un sous formulaire avec condition [AC-2007]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Rendre visible un sous formulaire avec condition
    (Re)Bonjour à vous !

    Avant de commencer, je tiens à préciser que je me suis renseigner avant de poster, mais qu'aucune des solutions trouvées ne convient... Le code qui me pose problème est d'ailleurs issus d'un forum !

    Alors voilà. Soit un formulaire, comprenant un champs "statuts" avec plusieurs cases à cocher (dont "Stagiaire". Soit un sous formulaire "Stage".

    Ce que je veux:

    Je voudrais que lorsque la case "Stagiaire" est cochée, le sous formulaire "Stage" s'affiche.

    Ce que j'ai fait:

    1. J'ai mis la visibilité du sous formulaire "Stage" sur "Non".
    2. J'ai rentré le code suivant, par le biais d'une procédure évènementielle sur clic, dans le champs "Statut" du formulaire global (qui contient les cases à cocher):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Statut_AfterUpdate()
    Stage.Visible = False
     
    If Statut.Value = "Stagiaire" Then
    Stage.Visible = True
    End If
     
    End Sub
    3. J'ai rentré le code suivant par le biais d'une procédure évènementielle sur activation, dans le formulaire global:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
    Stage.Visible = False
     
    If Statut.Value = "Stagiaire" Then
    Stage.Visible = True
    End If
    End Sub
    PS: j'ai aussi tenté ces deux code en enlevant les guillemets de stagiaire, en remplaçant "If Statut.Value = "Stagiaire"" par "If Stagiaire=True", mais sans résultat.

    Le résultat observé:

    Je quitte le mode crétaion, je clic la coche la case "stagiaire"... et rien ne se passe !

    Help me please je galère galère la !

  2. #2
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour Rominou28 .

    - une case à cochée a pour valeur TRUE ou FALSE ,suivant si elle est cochée ou non.
    - pour "gerer" un sous formulaire, il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![TonFormulaire].Form![TonSousFormulaire].Visible=True
    Cdlt

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Je viens d'essayer avec ta solution ... mais ça ne fait toujours rien ! Bouhouhou je déprime :'(

    Voici le code que j'ai rentré

    Dans le formulaire principale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
    If [Stagiaire] = True Then
    Forms![Enr_nouv_contact_interne].Form![Stage].Visible = True
    Else
    Forms![Enr_nouv_contact_interne].Form![Stage].Visible = False
    End If
    End Sub
    Dans le champs où il y a les cases à cocher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Statut_Click()
    If [Stagiaire] = True Then
    Forms![Enr_nouv_contact_interne].Form![Stage].Visible = True
    Else
    Forms![Enr_nouv_contact_interne].Form![Stage].Visible = False
    End Sub
    Merci d'avance de votre aide !

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Bonjour,

    Jai créé un premier formulaire (nommé "Principal") Sur lequel j'ai mis une case à cocher nommée : "Stagiaire"
    puis un deuxième formulaire (nommé "Stage") que j'ai mis en sous-formulaire du premier.

    et dans le code APRES_MAJ de la case à cocher de "Principal" j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Stagiaire_AfterUpdate()
        If Stagiaire Then
            Forms![Principal]![Stage].Visible = True
        Else
            Forms![Principal]![Stage].Visible = False
        End If
    End Sub
    et lorsque je sélectionne la case à cocher, le sous formulaire "Stage" apparait. Il disparait si je déselectionne.

    On peut aussi écrire plus simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Stagiaire_AfterUpdate()
        Forms![Principal]![Stage].Visible = Stagiaire
    End Sub
    J'espère avoir répondu à la question
    Michel

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Encore une fois merci, mais ça ne fait toujours rien :'(

    Peut être est ce parce que mes cases à coher sont dans un même champs?

    Je joins ma bdd cette fois ci, je crois que ce sera plus concret... Le formulaire concerné s'appelle "nouveaucontactinterne" et les cases à cocher dans le champs "statuts"

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Ton fichier joint, quand je le décompresse ça me donne un fichier nommé :
    c2s.accdb
    Je ne sais qu'en faire...impossible pour moi de le lire ou de l'exécuter.

    Michel
    PS : pourrais-tu tenter de reproduire l'exemple que je t'ai fourni et me dire si en l'état cela fonctionne chez toi. Cele nous donnerait quelque indication je pense. Ci-joint ma base de test. ouvrir simplement le Formulaire2
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (50,5 Ko, 156 affichages)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Moi je peux pourtant l'ouvrir ! c'est sûrement car j'utilise access 2007...

    Deux minutes, je remet une version antérieure!

    Edit: Il m'est impossible de l'enregistrer en version autre--'

    Je crois bien que je suis foutu :'(

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    1/fais moi un .zip j'ai peut être un pb avec les .rar

    2/essaye de faire fonctionner le base que je t'ai transmise

    Ceci dit, là où tu écris dans ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Enr_nouv_contact_interne].Form![Stage].Visible = True
    Moi j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Enr_nouv_contact_interne]![Stage].Visible = True
    Peut-être cela a-t-il une incidence... mais je n'y crois pas.

    JE VIENS DE TESTER AVEC TA BASE : AUCUN PROBLEME CHEZ MOI, CELA FONCTIONNE OK !

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    De toute manière le problème viens de moi , même sur ton exemple je n'y arrive pas ...

    Je vais te refaire les étape, je dois forcément me planter quelque part.
    1. J'ouvre ton document
    2. J'ouvre le formulaire 2 en mode création
    3.Je clique sur la case, je vais sur procédure évènementielle après maj
    4. je rentre le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Stagiaire_AfterUpdate()
    If Stagiaire Then
            Forms![Formulaire2]![Formulaire3].Visible = True
        Else
            Forms![Formulaire2]![Formulaire3].Visible = False
        End If
    End Sub
    5. j'enregistre
    6.Je test
    7. Ça ne fait rien -_-

    Edit= J'ai rajouté ma base en.zip !

    Merci beaucoup de perdre autant de temps avec moi en tout cas ...

  10. #10
    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 759
    Points
    7 759
    Par défaut
    Bonjour,

    j'ai regardé la base se trouvant dans le fichier .rar.

    Ton champ Statut est un champ texte multi-valué (nouveauté Access 2007).
    La conséquence est que lorsque tu mets ce champ sur un formulaire, il est transformé en contrôle liste déroulante.

    Crée une procédure événementielle "Après MAJ" pour le contrôle Statut, avec ce code :
    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
    Private Sub Statut_AfterUpdate()
    Dim v As Variant
    Dim bStagiaire As Boolean
     
    'Par défaut on suppose la ligne "Stagiaire" non cochée
    bStagiaire = False
    'On parcours toutes les lignes cochées
    For Each v In Me.Statut.ItemsSelected
        ' Si la ligne est la ligne "Stagiaire"
        If Me.Statut.ItemData(v) = "Stagiaire" Then
           ' on met la variable à True et on quitte la boucle
           bStagiaire = True
           Exit For
        End If
    Next
     
    ' Visibilité du sous-formulaire Stage
    Me.Stage.Visible = bStagiaire
     
    End Sub
    A+

  11. #11
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut Thierry_PALLIER, Orion34080 et bienvenu Rominou28 sans oublier l'ami LedZeppII

    comme d'ab t'as raison LedZeppII. pour chipoter, je propose une alternative à ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Statut_AfterUpdate()
    Me.Stage.Visible = Join(Nz(Statut.Value, Array(""))) Like "*Stagiaire*"
    End Sub
    à utiliser en toute connaissance de cause...
    sinon pour plus de sécurité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Stage.Visible = (vbNullChar & Join(Nz(Statut.Value, Array("")), vbNullChar) & vbNullChar) Like ("*" & vbNullChar & "Stagiaire" & vbNullChar & "*")

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Bonjour !

    Désolé j'étais parti en long Week end, je reviens à l'instant ! Merci beaucoup pour vos réponses !Je me suis empressé de tester avec vos trois nouvelles solutions... mais toujours le même problème :'(
    Je pense que c'est un problème avec la propriété "visible" du sous formulaire, mais je ne vois vraiment pas quoi mettre de plus!

    Je joins le fichier pour que vous constatiez par vous même, si vous avez encore le courage de vous pencher sur mon cas ...

  13. #13
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    Call Statut_AfterUpdate
    End Sub
    désolé, ça nous paraissait tellement évident...

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Donc si j'ai bien compris ce code appelle la procédure évènementielle du champs statut, et s’exécute à l'activation du formulaire?

    Dans tout les cas, j'ai mis ce code et ... ça marche pas --". Je suis maudit ou simplement un gros boulet ?

    Je remet encore ma base, mais la je comprends vraiment pas quel oubli j'ai pu faire !

    Vraiment désolé du dérangement ...

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    ...

    ...

    ...

    Bon aller je me lance j'avoue tout...

    Ca marche enfin !

    La solution? Dans mes options, access bloquait l’exécution des codes ...

    Merci à tous, ça me débloque tout ! Merci merci merci !

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Chercheuse Sciences humaines
    Inscrit en
    Juillet 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheuse Sciences humaines

    Informations forums :
    Inscription : Juillet 2014
    Messages : 33
    Points : 35
    Points
    35
    Par défaut Même problème avec condition sur liste déroulante non multivaluée
    Bonjour,

    Voilà la situation : j'ai un formulaire appelé [Fiche_EMR_2], il contient 2 sous-formulaires que je souhaiterais afficher en fonction de la réponse donnée dans le champ [TYPE_EMR]. Le contrôle de ce champ est une liste déroulante à deux valeurs : FAUNE et MOB.

    Après avoir lu attentivement plusieurs discussion notamment celle-ci et celle-là, j'ai écrit le code suivant :

    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
    Option Compare Database
    Private Sub Form_Current()
    Call TYPE_EMR_AfterUpdate
    End Sub
     
    Private Sub TYPE_EMR_AfterUpdate()
    If [TYPE_EMR].Value = FAUNE Then
    Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Visible = True
    Else
    Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Visible = False
    End If
    If [TYPE_EMR].Value = MOB Then
    Forms![Fiche_EMR_2]![SSForm_Mob2_inEMR].Visible = True
    Else
    Forms![Fiche_EMR_2]![SSForm_Mob2_inEMR].Visible = False
    End If
    End Sub
    Les deux sous-form sont déclarés invisibles dans les propriétés du formulaire, ils ne s'affichent donc pas à l'ouverture... ni lorsqu'une valeur est rentrée dans le champ TYPE_EMR.

  17. #17
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir loutine,

    Tu as loupé je pense ce tuto sur l'appel des sous-formulaires qui t'indiquerait que pour faire référence à un sous formulaire, il faut mettre un form après le nom du sous-formulaire de la façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Form.Visible = False
    De plus si j'ai bien compris, ton champ [TYPE_EMR] ne prend que les valeurs : FAUNE et MOB.
    Donc tu devrais pouvoir traiter tes 2 sous-formulaires à partir d'une condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Compare Database
    Private Sub Form_Current()
    Call TYPE_EMR_AfterUpdate
    End Sub
     
    Private Sub TYPE_EMR_AfterUpdate()
    If [TYPE_EMR].Value = FAUNE Then 'Si TYPE_EMR = Faune
         Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Visible = True
         Forms![Fiche_EMR_2]![SSForm_Mob2_inEMR].Visible = False
    Else 'Si TYPE_EMR <> Faune dont MOB
         Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Visible = False
         Forms![Fiche_EMR_2]![SSForm_Mob2_inEMR].Visible = True
    End If
    End Sub
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  18. #18
    Nouveau membre du Club
    Femme Profil pro
    Chercheuse Sciences humaines
    Inscrit en
    Juillet 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheuse Sciences humaines

    Informations forums :
    Inscription : Juillet 2014
    Messages : 33
    Points : 35
    Points
    35
    Par défaut
    Merci madefemere !
    Ca fonctionne en rajoutant effectivement "form" dans ton code, soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Compare Database
    Private Sub Form_Current()
    Call TYPE_EMR_AfterUpdate
    End Sub
     
    Private Sub TYPE_EMR_AfterUpdate()
    If [TYPE_EMR].Value = FAUNE Then 'Si TYPE_EMR = Faune
         Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Form.Visible = True
         Forms![Fiche_EMR_2]![SSForm_Mob2_inEMR].Form.Visible = False
    Else 'Si TYPE_EMR <> Faune dont MOB
         Forms![Fiche_EMR_2]![SSForm_Faune2_inEMR].Form.Visible = False
         Forms![Fiche_EMR_2]![SSForm_Mob2_inEMR].Form.Visible = True
    End If
    End Sub
    J'avais effectivement raté le tuto de loufab !

    Par contre, je me demande pourquoi il faut répéter l'information dans le code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If [TYPE_EMR].Value = FAUNE Then 'Si TYPE_EMR = Faune
    Et comment savoir quand et comment mettre la formule 'Si dans le code.
    Il doit certainement y avoir un tuto la dessus que je n'ai pas lu ! :-S

    Merci beaucoup en tout cas pour ton aide.
    Loutine.

  19. #19
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Oups, , j'ai pas fait ce que j'ai dit pour "form". Mais c'est bon, tu as trouvé.
    Concernant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If [TYPE_EMR].Value = FAUNE Then 'Si TYPE_EMR = Faune
    En fait, la partie 'Si TYPE_EMR = Faune est une commentaire en "français" dans le code VBA.
    Tu peux rajouter des commentaires dans tes codes en commençant tes textes par un ' . Tous les caractères après le ' seront considérés comme des commentaires.

    Tu as ICI un tuto sur les généralités de VBA

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  20. #20
    Nouveau membre du Club
    Femme Profil pro
    Chercheuse Sciences humaines
    Inscrit en
    Juillet 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheuse Sciences humaines

    Informations forums :
    Inscription : Juillet 2014
    Messages : 33
    Points : 35
    Points
    35
    Par défaut ça bug à nouveau !
    Je reviens vers cette discussion puisque mon problème n'est pas résolu...

    Le code est inchangé depuis mon message précédent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Compare Database
    Private Sub Form_Current()
    Call TYPE_EMR_AfterUpdate
    End Sub
     
    Private Sub TYPE_EMR_AfterUpdate()
    If [TYPE_EMR].Value = FAUNE Then 'Si TYPE_EMR = FAUNE
         Forms![Fiche_EMR]![SSForm_Faune2_inEMR].Form.Visible = True
         Forms![Fiche_EMR]![SSForm_Mob2_inEMR].Form.Visible = False
    Else 'Si TYPE_EMR <> FAUNE dont MOB
         Forms![Fiche_EMR]![SSForm_Faune2_inEMR].Form.Visible = False
         Forms![Fiche_EMR]![SSForm_Mob2_inEMR].Form.Visible = True
    End If
    End Sub
    Je n'avais pas précisé que le contrôle [TYPE_EMR] est généralement rempli à partir d'un sous-formulaire dans un autre formulaire, à savoir :
    Fiche_UGF.SSForm_EMRinUGF_FAUNE ou Fiche_UGF.SSForm_EMRinUGF_MOB
    dans lesquels le contrôle [TYPE_EMR] a une valeur par défaut : FAUNE ou MOB selon le cas.
    J'ai créé un bouton dans ces deux sous-form pour ouvrir et activé la Fiche_EMR correspondante à l'enregistrement (fiche du code ci-dessus).
    Or, seul le SSForm_Mob2_inEMR n'est visible !

    J'ai cherché dans l'aide Access et les tutos du site mais je n'ai pas trouvé - ou pas compris ! - la solution.
    Je me demandais s'il ne faudrait pas que j'introduise une commande de rafraîchissement ?
    Si nécessaire je peux joindre ma base.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/02/2013, 16h34
  2. [AC-2003] Rendre visible ou invisible formulaire et sous formulaire
    Par Kyul27 dans le forum VBA Access
    Réponses: 4
    Dernier message: 10/08/2012, 19h07
  3. Réponses: 7
    Dernier message: 20/10/2008, 21h40
  4. Réponses: 4
    Dernier message: 20/04/2008, 15h46
  5. Réponses: 5
    Dernier message: 19/11/2007, 14h27

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