Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: claus66 am August 15, 2016, 16:31:10

Titel: Unterformular unsichtbar, wenn ...
Beitrag von: claus66 am August 15, 2016, 16:31:10
Hallo,

ich möchte ein Unterformular (frmConsigneeRemarks) unsichtbar machen/halten wenn das Textfeld "Remarks", das sich in diesem Unterformular befindet, leer ist. Also keinen Text beinhaltet.

Mit folgendem Code habe ich es ausprobiert:

Private Sub Form_Current()
    If Not IsNull(Remarks) Then
        Me!frmConsigneeRemarks.Visible = True
    Else
        Me!frmConsigneeRemarks.Visible = False
    End If
End Sub


Bekomme allerdings die Fehlermeldung dass das angesprochene Feld "frmConsigneeRemarks" nicht gefunden wird.
Kann mir jemand weiterhelfen?
Titel: Re: Unterformular unsichtbar, wenn ...
Beitrag von: MzKlMu am August 15, 2016, 16:48:45
Hallo,
klicke den Rahmen des Ufos an und schaue nach dem Namen des Unterformularsteuerelements. Den musst Du verwenden. Das ist nicht der Name den Du beim Speichern vergibst.

Und kürzer geht es auch.

Private Sub Form_Current()
       Me!NameUfo.Visible = Not IsNull(Remarks)
End Sub
Titel: Re: Unterformular unsichtbar, wenn ...
Beitrag von: MaggieMay am August 16, 2016, 02:10:52
Hallo claus66,

entscheidend ist, wo sich der Code befindet, der ausgeführt werden soll.
Sowohl im Haupt- als auch im Unterformular gibt es das Current-Ereignis.

Beispiele:
1) aus dem HF heraus:
Private Sub Form_Current()
       Me!NameUfo.Visible = Not IsNull(Me!NameUfo.Form!Remarks)
End Sub


2) aus dem UF heraus:
Private Sub Form_Current()
       Me.Parent!NameUfo.Visible = Not IsNull(Me!Remarks)
End Sub
Titel: Re: Unterformular unsichtbar, wenn ...
Beitrag von: bahasu am August 16, 2016, 05:21:57
Moin,

und zusätzlich auch das Ereignis "Nach Aktualisierung" mit dem Code versehen, damit nach einer Änderung Deines Feldes die Anzeige ggf. angepasst wird.

Harald
Titel: Re: Unterformular unsichtbar, wenn ...
Beitrag von: claus66 am August 16, 2016, 13:13:14
Hallo,

den Code von MaggieMay habe ich nun "Beim Anzeigen" im Unterformular platziert und es funktioniert!

Den Code habe ich auch noch zusätzlich im HF "Beim Anzeigen" und "Nach Aktualisierung" des Feldes "ConsigneeID" platziert. Dort hatte ich wieder das Problem, dass das UF nicht gefunden wurde. Auf den Rahmen des UF habe ich mal geklickt und beim Register "Andere" den Namen des Formulars überprüft, konnte aber keine Abweichung zum Code-Namen erkennen.

Aber mit der momentanen Situation bin ich voll und ganz zufrieden. Vielen Dank nochmals an Alle.
Titel: Re: Unterformular unsichtbar, wenn ...
Beitrag von: bahasu am August 16, 2016, 14:16:31
Hallo,

Zitat von: claus66 am August 16, 2016, 13:13:14
Den Code habe ich auch noch zusätzlich im HF "Beim Anzeigen" und "Nach Aktualisierung" des Feldes "ConsigneeID" platziert. Dort hatte ich wieder das Problem, dass das UF nicht gefunden wurde. chmals an Alle.

Welche der beiden oben vorgestellten Codes hattest Du dort eingetragen?
Den zweiten womöglich? Damit wäre erklärbar, warum nichts gefunden wurde.

Eigentlich sollte auch die abgespeckte Version funktionieren:
Me!NameUfo.Visible = Not IsNull(Me!NameUfo!Remarks)
Mit "Nach der Aktualisierung" hatte ich das Formular- und nicht das Steuerelement-Ereignis gemeint. Sorry für ungenaue Angaben.

Harald
Titel: Re: Unterformular unsichtbar, wenn ...
Beitrag von: Beaker s.a. am August 16, 2016, 14:23:27
Hallo Claus,
Schau mal in diesen Thread, da habe ich den Zusammenhang von UFo
und eingebettetem Formular gerade erklärt.
http://www.access-o-mania.de/forum/index.php?topic=21648.msg123966#msg123966 (http://www.access-o-mania.de/forum/index.php?topic=21648.msg123966#msg123966)
gruss ekkehard