Seite 1 von 1

Feld sichtbar wenn

BeitragVerfasst: 18. Sep 2021, 13:10
von Umpf1984
Hallo zusammen

ich habe ein Formular mit ein Kombifeld Name = Sparte, Auswahl Möglichkeit = Mittag, Pauschale, Reinigung, Kaffee, Bewirtung

Im Formular möchte ich nun, die dazugehörige Felder nur angezeigt bekommen, wenn ich die richtige Sparte auswähle.

Für Mittag, Bewirtung habe ich es ohne Probleme hinbekommen

Private Sub Form_Current()

Me.Bezeichnungsfeld53.Visible = Me.Sparte = "Bewirtung"
Me.Betrag_Bewirtung_7.Visible = Me.Sparte = "Bewirtung"
Me.Bezeichnungsfeld55.Visible = Me.Sparte = "Bewirtung"
Me.Betrag_Bewirtung_19.Visible = Me.Sparte = "Bewirtung"
Me.Bezeichnungsfeld58.Visible = Me.Sparte = "Mittag"
Me.Anzahl_Mittagessen.Visible = Me.Sparte = "mittag"

End Sub

Private Sub Sparte_AfterUpdate()

Me.Bezeichnungsfeld53.Visible = Me.Sparte = "Bewirtung"
Me.Betrag_Bewirtung_7.Visible = Me.Sparte = "Bewirtung"
Me.Bezeichnungsfeld55.Visible = Me.Sparte = "Bewirtung"
Me.Betrag_Bewirtung_19.Visible = Me.Sparte = "Bewirtung"
Me.Bezeichnungsfeld58.Visible = Me.Sparte = "Mittag"
Me.Anzahl_Mittagessen.Visible = Me.Sparte = "mittag"

End Sub


Für Pauschale, Reinigung, Kaffee leider nicht , Feld ist immer der selbe
ich habe im Form_Current() + Sparte_AfterUpdate() wie folgt eingegeben :

Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Pauschale"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Pauschale"

Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Reinigung"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Reinigung"

Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Kaffee"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Kaffee"

leider funktioniert es nicht, das Feld wird mir im Formular nicht angezeigt

Was mache ich falsch ?

Re: Feld sichtbar wenn

BeitragVerfasst: 18. Sep 2021, 15:05
von mmarkus
Umpf1984 hat geschrieben:
Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Pauschale"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Pauschale"

Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Reinigung"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Reinigung"

Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Kaffee"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Kaffee"

leider funktioniert es nicht, das Feld wird mir im Formular nicht angezeigt

Was mache ich falsch ?


Bei deinem Code änderst du die Sichtbarkeit von

Me.Bezeichnungsfeld59
Me.Betrag_Pauschale

drei mal hintereinander.
Es ist also nur die letzte Änderung von Bedeutung, da diese alle vorhergehenden eleminiert.
Du musst die Logik also so ändern, dass es nur eine einzige Änderung gibt und die muss passen.

Also noch mal etwas Nachdenken.

Re: Feld sichtbar wenn

BeitragVerfasst: 18. Sep 2021, 15:39
von Gast
HAllo Markus,

danke dir für dein Hinweis, wie wäre dann der Code ?

Ich bin kein Profi, deshalb suche ich hilfe :-)

Re: Feld sichtbar wenn

BeitragVerfasst: 18. Sep 2021, 15:45
von Gast
Gast hat geschrieben:HAllo Markus,

danke dir für dein Hinweis, wie wäre dann der Code ?

Ich bin kein Profi, deshalb suche ich hilfe :-)


Ich habe auch wie folgt versucht :
Me.Bezeichnungsfeld59.Visible = Me.Sparte = "Pauschale" or "Reinigung" or "Kaffee"
Me.Betrag_Pauschale.Visible = Me.Sparte = "Pauschale" or "Reinigung" or "Kaffee"

Re: Feld sichtbar wenn

BeitragVerfasst: 18. Sep 2021, 15:56
von mmarkus
Die Logik passt bereits:

Me.Bezeichnungsfeld59.Visible = (Me.Sparte = "Pauschale" or Me.Sparte = "Reinigung" or Me.Sparte = "Kaffee")

Schreibweisen gibts es natürlich auch noch andere.
Vor allem könnte man das Ergebnis in einer Variable speichern:

Code: Alles auswählen
dim bShow as boolean

bShow = (Me.Sparte = "Pauschale" or Me.Sparte = "Reinigung" or Me.Sparte = "Kaffee")
Me.Bezeichnungsfeld59.Visible = bShow
Me.Betrag_Pauschale.Visible = bShow



Ich hoffe es gibt keinen Schreibfehler - also Luftcode.

Re: Feld sichtbar wenn

BeitragVerfasst: 18. Sep 2021, 16:07
von Gast
ok, vielen Dank. das funktioniert