Januar 18, 2022, 10:40:40

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Einblenden von Formularfeldern abhängig vom Datensatz

Begonnen von Christian5467, Januar 03, 2022, 23:17:59

⏪ vorheriges - nächstes ⏩

Christian5467

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

MzKlMu

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.
Gruß
Klaus

Christian5467

Vielen Dank dafür. Allerdings brauche ich das gerade in einem Endlosformular. Gibt es da wirklich keine Möglichkeit?

Danke und Gruß
Christian

MzKlMu

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.
Gruß
Klaus

Christian5467

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

MzKlMu

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.
Gruß
Klaus

Christian5467

Super! Vielen Dank. So ist es gut machbar.
Danke
Christian