Access-o-Mania

Access-Forum => Formular => Thema gestartet von: Christian5467 am Januar 03, 2022, 23:17:59

Titel: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: Christian5467 am Januar 03, 2022, 23:17:59
Hallo zusammen,

ich möchte eine Datenbank aufbauen, in welcher ich Artikel und Wareneingänge verwalten möchte. In der Artikeltabelle habe ich unter Anderem die Felder "Lagerzeit" und "Chargen". Beide Felder können Wahr oder Falsch sein.
Im Formular Wareneingang möchte ich jetzt nach der Auswahl des zu buchenden Artikels die Felder "Ablaufdatum" und "Charge" nur dann einblenden und befüllen müssen, wenn das entsprechende Feld in der Artikeltabelle den Wert Wahr hat.
Wenn "Lagerzeit" in der Tabelle Artikel den Wert Falsch hat, soll das Feld "Ablaufdatum" nicht zu sehen sein, wenn der Wert Wahr ist, soll das Feld zu sehen sein und befüllt werden müssen.
Das Formular Wareneingang greift nicht auf die Artikeltabelle zu.
Wie kann ich das am besten anstellen?

Vielen Dank für die Hilfe und Gruß
Christian
Titel: Re: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: MzKlMu am Januar 03, 2022, 23:53:12
Hallo,
ZitatDas Formular Wareneingang greift nicht auf die Artikeltabelle zu.
Nimm in die Datenherkunft (Abfrage) für das Formular die Artikeltabelle mit dazu. Dann hast Du die beiden Wahr/Falsch Felder zur Verfügung.

Dann im Ereignis "Beim Anzeigen" folgende Zeile:

Me.Ablaufdatum.Visible = Me.Lagerzeit = False
Singemäß auch für die Charge.

Das funktioniert aber nicht mit einem Endlosformular, da ist das nicht möglich.
Titel: Re: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: Christian5467 am Januar 04, 2022, 02:07:24
Vielen Dank dafür. Allerdings brauche ich das gerade in einem Endlosformular. Gibt es da wirklich keine Möglichkeit?

Danke und Gruß
Christian
Titel: Re: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: MzKlMu am Januar 04, 2022, 07:41:28
Hallo,
nein, das geht nicht, in einem Endlosformular wird immer die ganze Spalte angezeigt oder nicht.
Du kannst allenfalls das Feld zur Eingabe sperren, wenn keine Eingabe erfolgen darf.
Titel: Re: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: Christian5467 am Januar 04, 2022, 11:38:18
Danke.

Wie würde ich denn das Feld zur Eingabe sperren? Ist das dann auch für das gesamte Endlosformular gesperrt oder nur für diesen einen Fatensatz im Endlosformular?

Danke und Gruß
Christian
Titel: Re: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: MzKlMu am Januar 04, 2022, 12:05:29
Hallo,
statt sperren ist Deaktivieren besser, habe ich mir überlegt.
Me.Ablaufdatum.Enabled = Me.Lagerzeit = FalseDas Ereignis "Beim Anzeigen" wird bei jedem Datensatzwechsel ausgeführt.
Es sind dann zwar auch alle Datensätze betroffen, aber das merkst du nicht, denn bei Datensatzwechsel wird ja erneut geprüft.
Titel: Re: Einblenden von Formularfeldern abhängig vom Datensatz
Beitrag von: Christian5467 am Januar 04, 2022, 13:22:34
Super! Vielen Dank. So ist es gut machbar.
Danke
Christian