OVH Cloud OVH Cloud

Sous-formulaire conditionnel ?

2 réponses
Avatar
Marlène
Bonjour,
Est-il possible de créer des formulaires avec un sous-formulaire qui différe
en fonction d'une case à cocher se trouvant dans le formulaire principal.
D'avance merci
Marlène

2 réponses

Avatar
Gafish
Bonjour,

Oui, tout à fait, il faut que tu joues sur la propriété SourceObject de
l'objet sous-formulaire de ton formulaire.
Par exemple sur l'evenement clic sur ta case à cocher, tu peux entrer le
code suivant :

If Me.TaCase = -1 then
Me.TonSousForm.SourceObject = "NomSousFormSiCoche"
Else
Me.TonSousForm.SourceObject = "NomSousFormSipASCoche"
End If

en remplacant par le nom de tes objets

Arnaud

"Marlène" <**> a écrit dans le message news:
OR$
Bonjour,
Est-il possible de créer des formulaires avec un sous-formulaire qui
différe

en fonction d'une case à cocher se trouvant dans le formulaire principal.
D'avance merci
Marlène





Avatar
Gilles
"Marlène" a écrit:

Bonjour,
Est-il possible de créer des formulaires avec un
sous-formulaire qui différe en fonction d'une case
à cocher se trouvant dans le formulaire principal.
D'avance merci
Marlène


Bonjour, Marlène

Deux solutions:
1) deux objets sous-formulaire, un visible et l'autre non, chacun étant lié
au sous-formulaire souhaité. Quand la case à cocher change d'état, on inverse
l'état de visibilité des deux sous-formulaires:

Sub TaCaseACocher_AfterUpdate()
Me!SousForm1.Visible = (TaCaseACocher)
Me!SousForm2.Visible = Not (TaCaseACocher)
End Sub

2) un seul objet sous-formulaire lié par défaut à l'un des deux
sous-formulaires. Quand la case à cocher change d'état, on modifie l'objet
source du sous-formulaire:

Sub TaCaseACocher_AfterUpdate()
If (TaCaseACocher) Then
Me!SousForm.SourceObject="NomSouForm1"
Me![Dictionnaire_form].LinkChildFields = "NomChampLiaisonSousForm1"
Me![Dictionnaire_form].LinkMasterFields = "NomChampLiaisonForm"
Else
Me!SousForm.SourceObject="NomSouForm2"
Me!SousForm.LinkChildFields = "NomChampLiaisonSousForm2"
Me!SousForm.LinkMasterFields = "NomChampLiaisonForm"
End If
End Sub

Bonne continuation