![]() |
||
![]() |
Formularfelder in Abhängigkeit anderer Felder belegenBei der Eingabe in einem Access-Formular kommt es häufig zu gleichen Kombinationen der Inhalte verschiedener Felder. Ich möchte nun ohne ein Kombinationsfeld die Möglichkeit haben, in einem Feld einen Standardwert zu erhalten, falls in einem anderen Feld ein bestimmter Wert eingegeben wird. Können Sie mir helfen? Ihren Wunsch können Sie mit einer VBA-Funktion realisieren. Dieser Tipp soll das Vorgehen anhand eines Beispiels erläutern. Nehmen Sie an, Sie wollen ein Formular mit den beiden Fehlern »Eingabe« und »Wirkung« realisieren. Falls der Anwender nun im Feld »Eingabe« die Zeichenkette »Ja« oder »Nein« einträgt, soll Access mit einer speziellen Default-Belegung im Feld »Wirkung« reagieren. Nachdem Sie das Formular entworfen und die beiden Eingabefelder »Eingabe« und »Wirkung« erzeugt haben, klicken Sie mit der rechten Maustaste auf das Feld »Eingabe« und öffnen im Kontextmenü den Dialog »Eigenschaften«. Wählen Sie das Register »Ereignis« und klicken Sie rechts neben der Eigenschaft »Nach Aktualisierung« auf die Schaltfläche »...«. Im Dialog »Editor auswählen« markieren Sie den »Code-Editor« und bestätigen mit »OK«. Access legt nun die VBA-Prozedur »Eingabe_AfterUpdate()« an, die immer ausgeführt wird, wenn Access Daten im Feld »Eingabe« aktualisiert. Alles weitere erreichen Sie mit einfachen VBA-Befehlen. Zuerst lesen Sie das Feld »Eingabe« aus und bestimmen dann zum Beispiel mit einer »Select Case«-Anweisung den gewünschten Inhalt des Feldes »Wirkung«, das Sie danach auch umgehend belegen: Private Sub Eingabe_Aftert Update() Select Case Me!Eingabe Case „ja„, „JA„, „Ja„ Me!Wirkung = „Wirkung t von JA„ Case „nein„, „NEIN„, t „Nein„ Me!Wirkung = t „Wirkung von NEIN„ Case Else Me!Wirkung = „Keine t Wirkung„ End Select End Sub Für die Realisierung sind einige Varianten denkbar. So können Sie zuerst feststellen, ob der Anwender bereits eine Eingabe in das Feld »Wirkung« vornahm und in diesem Fall die Default-Belegung unterdrücken. Sie sollten allerdings sicherstellen, dass es nicht zu ungewollten Nebeneffekten kommt. |
![]() |