Feld sichtbar machen, Dateneingabe im zweiten Form

Hallo,

trotz Recherche konnte ich leider nichts passendes finden, daher hoffe ich auf eure Hilfe.

Ich habe zwei Formulare: Ein Hauptformular mit einem Bezeichnungsfeld und ein zweites Formular mit einem Unterformular auf diesem befindet sich eine Optionsgruppe. Diese Optionsgruppe hat 2 Einträge mit der Belegung 1=ja, 2=nein.
Wenn jetzt in dem Unterformular ja angeklickt wird, soll im Hauptformular das Bezeichnungsfeld erscheinen.
Das Bezeichnungsfeld habe ich in der Eigenschaft auf sichtbar -> nein gestellt.

Mit folgendem Code funktioniert es nicht. Habt ihr eine Idee bzw. wo ist mein Fehler?

Private Sub Optionsgruppe\_Click()
 If Me![Optionsgruppe].SourceObject = "Formular\_U" = "1" Then
 Forms![Hauptformular]![Bezeichnungsfeld].Visible = True
 Else
 Forms![Hauptformular]![Bezeichungsfeld].Visible = False
 End If
End Sub

Hallo,

Ich habe zwei Formulare: Ein Hauptformular mit einem
Bezeichnungsfeld und ein zweites Formular mit einem
Unterformular auf diesem befindet sich eine Optionsgruppe.

Wo befindet sich jetzt was und sind das nun zwei Hauptformulare, von denen eines ein UFO-Steuerelement besitzt?

Diese Optionsgruppe hat 2 Einträge mit der Belegung 1=ja,
2=nein.
Wenn jetzt in dem Unterformular ja angeklickt wird, soll im
Hauptformular das Bezeichnungsfeld erscheinen.

Wenn man diese Angabe hernimmt , dann im „Unterformular“:

Private Sub Optionsgruppe_Click()
If Me![Optionsgruppe]= 1 Then
Me.Parent![Bezeichnungsfeld].Visible = True
Else
Me.Parent![Bezeichnungsfeld].Visible = False
End If
End Sub

oder einfach

Private Sub Optionsgruppe_Click()
Me.Parent![Bezeichnungsfeld].Visible = Me![Optionsgruppe] = 1
End Sub

Das Bezeichnungsfeld habe ich in der Eigenschaft auf sichtbar
-> nein gestellt.

Mit folgendem Code funktioniert es nicht. Habt ihr eine Idee
bzw. wo ist mein Fehler?

Ja, und hier:

Private Sub Optionsgruppe\_Click()


 **If Me![Optionsgruppe].SourceObject = "Formular\_U" = "1" Then 'soll was bedeuten?** 


 Forms![Hauptformular]![Bezeichnungsfeld].Visible = True
 Else
 Forms![Hauptformular]![Bezeichungsfeld].Visible = False
 End If
End Sub

Danke für die Antwort.

Ja, es sind zwei Hauptformulare, davon eins mit einem Unterformular.

  • Hauptformular(a): Hat ein Bezeichnungsfeld

  • Hauptformular(b) mit UF: Hier ist eine Optionsgruppe mit den Werten ja=1 und nein=2.

Mit diesem Code funktioniert es leider nicht. Muss ich denn im Code das Unterformular nicht ansprechen?

Wie, z.B. so: If Forms!Hauptformular(a)!Hauptformular_U(b)!Optionsgruppe.Value = 1 ?

So habe ich es jedenfalls auch noch versucht, funktioniert aber nicht. Das Feld auf Hauptformular(a) wird nicht sichtbar.

Private Sub Optionsgruppe\_Click()
If Me![Optionsgruppe]= 1 Then
Me.Parent![Bezeichnungsfeld].Visible = True
Else
Me.Parent![Bezeichnungsfeld].Visible = False
End If
End Sub

Hallo,

Ja, es sind zwei Hauptformulare, davon eins mit einem
Unterformular.

  • Hauptformular(a): Hat ein Bezeichnungsfeld

  • Hauptformular(b) mit UF: Hier ist eine Optionsgruppe mit den
    Werten ja=1 und nein=2.

nun gut, allerding sind solche Formularkonstruktionen und -abhängigkeiten sehr fragwürdig…

Mit diesem Code funktioniert es leider nicht. Muss ich denn im
Code das Unterformular nicht ansprechen?

Nein, der Code läuft im Unterformular (das Formular, das im Formular „B“ mit dem UFO-Steuerelement angezeigt wird).

Wie, z.B. so: If
Forms!Hauptformular(a)!Hauptformular_U(b)!Optionsgruppe.Value
= 1 ?

So habe ich es jedenfalls auch noch versucht, funktioniert
aber nicht. Das Feld auf Hauptformular(a) wird nicht sichtbar.

nein

Code im Formualr „C“ (das Unterformular)

Private Sub Optionsgruppe\_Click()
If Me![Optionsgruppe]= 1 Then
Forms!A![Bezeichnungsfeld].Visible = True ' dann eben so auf Form A zugreifen
Else
Forms!A![Bezeichnungsfeld].Visible = False
End If
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Vielen Dank Franz,

es funktioniert jetzt, super.

Viele Grüße
Bianca

Hallo nochmal,

Leider habe ich doch noch ein Problem. Nach ausgiebigen testen klappt es doch noch nicht so wie es sein sollte.

Den Code vom Franz habe ich im Ereignis beim Klicken hinter der Optionsgruppe auf dem Formular(b) (mit dem Unterformular) gelegt.

Private Sub Optionsgruppe\_Click()
If Me![Optionsgruppe] = "1" Or Me![Optionsgruppe] = "0" Then
Forms!Formular(a)![Textfeld].Visible = True
Else
Forms!Formular(a)![Textfeld].Visible = False
End If
End Sub

Wie soll es funktionieren:
Wenn ich im Formular(b) ja oder nein anklicke, soll auf Formular(a) das Bezeichnungsfeld sichtbar werden. Wenn im Formular(b) kein Wert angeklickt wird, soll auch kein Bezeichnungsfeld im Formular(a) erscheinen.

So läuft es jetzt:
Klicke ich einen Wert der Optionsgruppe an, erscheint das Bezeichnungsfeld im Formular(a). Wenn ich aber einen Datensatz weiter klicke ist dieses Feld immer noch sichtbar, obwohl kein Feld der Optionsgruppe angeklickt wurde.

Muss der Code noch woanders hinterlegt werden oder wo ist mein Fehler.
Es wäre schön wenn ihr noch eine Idee hättet.

Liebe Grüße Bianca

Hallo Bianca,

Leider habe ich doch noch ein Problem.

Ich auch…

Den Code vom Franz

das ist nicht mein Code… Wieso vergleichst Du den numerischen Optionsgruppenwert mit einem Text (Ziffer)?

habe ich im Ereignis beim Klicken hinter

der Optionsgruppe auf dem Formular(b) (mit dem Unterformular)
gelegt.

genau hier: Ich dachte, die Optionsgruppe liegt im (Unter-)Formular(„C“) , das sich im Form („B“) befindet ??

Private Sub Optionsgruppe_Click()
If Me![Optionsgruppe] = „1“ Or Me![Optionsgruppe] = „0“ Then
Forms!Formular(a)![Textfeld].Visible = True

Wenn „Nichts“ angeklickt ist, hat normalerweise die Optionsgruppe den numerischen Wert 0 und auch nicht den Text „0“!) . Wieso soll dann das Textfeld sichtbar werden? Außerdem: Ist die Opptionsgruppe gebunden oder ungebunden?

Forms!Formular(a)![Textfeld].Visible = False
End If
End Sub

Wie soll es funktionieren:
Wenn ich im Formular(b) ja oder nein anklicke, soll auf
Formular(a) das Bezeichnungsfeld sichtbar werden. Wenn im
Formular(b) kein Wert angeklickt wird, soll auch kein
Bezeichnungsfeld im Formular(a) erscheinen.

ok, warum eigentlich überhaupt eine Optionsgruppe? allein dafür würde ein Kontrollkästchen ausreichen und einfacher zu bedienen sein.

So läuft es jetzt:
Klicke ich einen Wert der Optionsgruppe an, erscheint das
Bezeichnungsfeld im Formular(a). Wenn ich aber einen Datensatz
weiter klicke

WO klickst Du weiter? Es handelt sich hier um 3! Formulare…
Und damdurch besteht die Qual der Wahl des richtigen Ereignisses für die Erledigung des gewünschten Effektes…

ist dieses Feld immer noch sichtbar, obwohl kein
Feld der Optionsgruppe angeklickt wurde.

Muss der Code noch woanders hinterlegt werden oder wo ist mein
Fehler.

Die Anzeige des Textfeldes wird nur beeinflußt, wenn der o. st. Code (beim „Klicken“ auf die Optionsgruppe) ausgeführt wird, und das ist nicht der Fall, wenn der Datensatz (in welchem Form auch immer) gewechselt wird.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!