Unterformular ausblenden

Hallo,
wie kann ich auf ein Unterformular in Access 2000 zugreifen?

Hintergrund: Ich habe ein Formular mit mehreren Unterformularen.
Ich möchte nun, dass das Unterformular „frmU_Mitfahrer“ nur sichtbar ist, wenn die Bedingung [BZFK] = Ja (im Unterformular frmB_SchJ)zutrifft.

Ich habe es schon mit folgendem versucht:
1.
If (Eval(„Forms!frmA_Pers!frmB_SchJ![BZFK] = Yes“)) Then
DoCmd.OpenForm „frmA_Pers!frmU_Mitfahrer“, acNormal, „“, „“, , acNormal

  • funktioniert nicht, da das bereits geöffnete Unterformular noch mal geöffnet wird. (Formularname abkürzen mit Me! geht nicht)

If (Eval(„Forms!frmA_Pers!frmB_SchJ![BZFK] = Yes“)) Then
DoCmd.GoToControl „Forms!frmA_Pers!frm_Mitfahrer“ ???
Visible = False

  • funktioniert auch nicht, da er das Steuerelement „Forms!frmU_Mitfahrer“ nicht findet.

Ich müsste doch irgendwie mit dem Befehl DoCmd.GoToControl auf das Unterformular (oder wenigstens auf ein Steuerelement des Unterformulars) zugreifen können!?
Wäre dankbar, wenn mir ein Experte kurzfristig weiterhelfen könnte.

Gruß
Jürgen

Hallo, Jürgen!

Du hast ein Formular, das heißt mal „frmHauptformular“. In diesem hast Du ein Unterformular angelegt. Dieses ist ein Steuerelement und heiße einfach mal „fsubMitfahrer“; dieses hat als SourceObject Dein Formular „frmU_Mitfahrer“.

Wenn Du nun per Code vermutlich im Hauptformular das Unterformular ein-/ausblenden willst, kannst Du dieses einfach tun mit

Me.cmdEinButton.SetFocus
Me.fsubMitfahrer.Visible=not (Eval("Forms!frmA\_Pers!frmB\_SchJ![BZFK] = Yes"))

Wichtig: Da u. U. der Fokus in Deinem Unterformular sein kann und es in diesem Fall nicht ausgeblendet oder deaktiviert werden kann, brauchst Du ein aktivierbares Steuerelement auf Deinem Hauptformular, dem Du vorher den Fokus geben musst. Dies ist in meinem Sniplet „cmdEinButton“.

Gruß, Manfred

Danke
Hallo, Manfred

Me.fsubMitfahrer.Visible=not
(Eval(„Forms!frmA_Pers!frmB_SchJ![BZFK] = Yes“))

Funktioniert. Das war genau das, was ich gesucht habe.

Danke und Gruß
Jürgen