Liebe/-r Experte/-in,
bin noch ein ziemlicher Frischling im Umgang mit Access. Da mich aber die Vielfältigkeit von Access begeistert, versuche ich alles dem Programm Herr zu werden.
Folgendes Problem:
Ich habe u.a. 3 ungebundene Kombinationsfelder auf einem Formular.
Das erste Kombifeld erhält seine Werte aus einer Werteliste.
Dieser Ausgewählte Wert dient als Parameter für die Abfrage des nächsten Kombinationsfeldes. Die Auswahl des 2. Steuerelements als Parameter für die Abfrage des 3ten – quasi werden Personen aus einer Herrarchieebene ausgewählt.
Soweit klappt das alles einwandfrei. Aber wenn ich alle drei Felder mit Daten gefüllt habe und das erste Feld wieder ändern will, bleiben die Werte der andern beiden Kombifelder erstmal bestehen, bis ich diese auch ändere – das soll aber nicht. Sobald ich das erste Feld ändere, sollen die beiden anderen erstmal wieder „leer“ werden, damit es bei dem Benutzer nicht zu Verwirrung sorgt.
Wie kann ich das schaffen, was muß ich tun?
Im voraus herzlichen Dank,
Frank
Hallo Frank,
ist die Datenbank noch in einem Zustand, daß Du mir ein Muster senden kannst in dem ich das einbauen kann ?
Meine Adresse: [email protected]
Prinzipiell muß beim Anklicken des ersten Feldes ein Ereignis OnClick sein, in das man dann die Anweisungen Kombifeld2.Value = „“ und Kombifeld3.Value = „“ eintragen kann. Damit würden beim Anklicken des ersten Kombifeldes die beiden anderen auf den ersten oder einen leeren Wert gesetzt.
Viele Grüße
Günter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Frank,
ist die Datenbank noch in einem Zustand, daß Du mir ein Muster
senden kannst in dem ich das einbauen kann ?Meine Adresse: [email protected]
Prinzipiell muß beim Anklicken des ersten Feldes ein Ereignis
OnClick sein, in das man dann die Anweisungen Kombifeld2.Value
= „“ und Kombifeld3.Value = „“ eintragen kann. Damit würden
beim Anklicken des ersten Kombifeldes die beiden anderen auf
den ersten oder einen leeren Wert gesetzt.Viele Grüße
Günter
Hallo Günter,
danke für diesen Tipp. Genauso wie du beschrieben hast, hat es geklappt.
Danke!!
Frank
Hallo Frank
Wenn du das Feld auf Ebene 1 (sagen wir dem mal Chef) aktualisierst, soll dein Programm automatisch die Felder der unteren Ebenen (Mitarbeiter Sufe 1 und 2) ebenfalls aktualisieren, so möchtest du’s haben, oder?
Dann füge auf dem Feld der übergeordneten Ebene (Chef) folgende Ereignis-Prozedur ein:
Private Sub Chef_AfterUpdate()
Mitarbeiter_Stufe1.Requery
Mitarbeiter_Stufe2.Requery
End Sub
(Mit dem Requery lässt du das Programm für die untergeordneten Stufen die Verbindung nach oben erneut abfragen(aktualisieren). Weil die Werte der untergeordneten Stufen mit der darüberliegenden, geänderten nicht mehr übereinstimmen, werden Leerwerte angezeigt.)
Zuest musst du wissen wie dein/e Feld/er (Mitarbeiter-Stufe 1 und 2) heissen. Nimm dazu dein Formular in den Entwurfsmodus, markiere das Feld (Mitarbeiter), rechter Mausklick / Eigenschaften.
Für die Ereignisprozedur, verfahre wie oben aber auf dem Chef-Feld -> Eigenschaften-Fester: Im unteren Drittel beim Ereignis [Nach Aktualisierung] fügst du die Ereignisprozedur ein: Wähle dazu mit der Dropdown-Taste am rechnten Fensterrand [Ereignisprozedur] und klicke danach die […] Taste. So kommst du in den Code-Editor, in welchem du nur noch die mittleren der oben dargestellten Zeilen einzutippen brauchst. Verwende dazu vor dem Punkt den Feldnamen des / der untergeorneten Levels. Wenn du vom Chef aus gesehen zwei untergeornete Stufen hast, füge die beiden Zeilen wie oben dargestellt ein. Wenn du von der Mitarbeiter-Stufe 1 ausgehst, brauchst du nur für noch die Mitarbeiter-Stufe 2 den Requery abzusetzen.
Kommst du damit klar? Ich wünsch dir gutes Gelingen, sonst kommst du wieder.
Markus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Markus,
danke für deine Hilfe !!
Das hat mir weiterholfen.
Danke und noch eine sonnige Woche
Frank