99 Aufrufe
Gefragt in Datenbanken von ull Einsteiger_in (14 Punkte)

Hallo Gemeinde,
ich habe in Access ein Formular mit dem ich Mitglieder verwalte, d.h. neue Mitglieder aufnehme, lösche oder ändere. Zudem enthält das Formular ein Kombinationsfeld mit dem ich via SQL die Namen der Mitglieder aufliste und dann einen Datensatz anzeige um ihn zu ändern oder zu löschen. Das funktioniert alles ganz prima. 
Aber: wenn ich ein oder mehrere neue Mitglieder anlege und dann ohne das Formular zu verlassen, eines dieser Mitglieder mit dem Kombinationsfeld aufgelistet sehen will, dann ist es nicht in der Auflistung. Drücke ich aber vorher F5 dann ist es vorhanden. Genauso verhält es sich beim löschen. D.h. das SQL in dem Kombinationsfeld scheint schon beim ersten Aufruf des Formulars ausgeführt worden zu sein und die Daten sind somit nicht aktuell.

Beim Speichern oder Löschen sage ich hinterher immer Me.Refresh, jedoch das nützt nichts. Auch der Befehl
Application.SendKey {F5}, wait  nützt nichts. Wie kann ich erreichen, dass in dem Kombinationsfeld alle aktuellen Daten aufgeführt werden?

Danke für eine Antwort 
Gruß Ull

1 Antwort

0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
ausgewählt von ull
 
Beste Antwort

Hallo Ull,

du musst das Kombinationsfeld refreshen, nicht das Formular. Also, wenn du z.B. ein Kombinationsfeld mit den Namen "TNList" im Formularkopf hast, musst du

Me!TNList.Requery

bei dem Ereignis "Form_AfterUpdate" einfügen, dann wird das Kombinationsfeld, nachdem der Datensatz gespeichert ist (!), in die Liste aufgenommen.

...