| |
New user
Beiträge: 2
| Hallo zusammen,
obwohl ich schon länger mit Access arbeite, kann ich ein einfaches Problem nicht lösen und bitte das Forum um Unterstützung:
in einem Formular habe ich Personendaten in Textfeldern, der Primärindex steht im Feld [Id] . Das Formular soll sowohl mit Tastatur als auch mit Mouse zu bedienen sein. Zur Datensatzauswahl gibt es ZWEI Listenfelder mit den Nachnamen der Personen (und jeweils der verbundenen Spalte für [Id]). Wenn ich in einer Liste einen Eintrag auswähle, sollen in den Textfeldern die zugehörigen Daten angezeigt werden. Das geschieht überlicherweise, indem ich in dem Listenfeld-Ereignis "AfterUpdate" den Datensatzzeiger mit dem Listenfeld synchronisiere:
'ZeigerAktualisieren
Me.Recordset-FindFirst "[Id] = " & str(Nz(Screen.ActiveControl,0))
Das funktioniert aber nur, wenn ich das Listenfeld durch Anklicken betrete. Wenn ich mit TAB in ein Listenfeld springe, wird "AfterUpdate" nicht ausgelöst. Der Datensatzzeiger wird folglich auch nicht neu positioniert und mit der Listenfeld-Markierung synchronisiert.
Wenn ich dieses "ZeigerAktualisieren" aber in das Ereignis "GotFocus" verschiebe, wird es nicht ausgeführt, wenn ich innerhalb eines Listenfelds navigiere.
Wenn ich "ZeigerAktualisieren" in "AfterUpdate" UND "GotFocus" ausführe, stimmen zwar immer die Textfelder mit dem zuletzt gewählten Listenfeldeintrag überein, durch Anklicken eines Listenfeldeintrag wird aber nur die Liste, nicht der angeklickte Eintrag ausgewählt: Der zuletzt in dieser Liste ausgewählte Eintrag bleibt aktiv (Dass in dieser Konstellation "ZeigerAktualisieren" mehrfach ausgeführt wird, ist hier jetzt erstmal egal).
Natürlich wünsche ich mir, dass man einen Listenfeldeintrag anklicken kann und dieser dann ausgewählt wird.
Gibt es dazu schon Lösungen?
Vielen Dank im Voraus
Anhänge ---------------- Listboxen.zip (37KB - 0 downloads)
| |
|