PDA

Vollständige Version anzeigen : Kombinationsfeld aktualisieren !!


Peda
24.01.2001, 18:15
Hallo Leute,

ich habe ein Formular, in dem sich einKombinationsfeld befindet. In diesem Kombinationsfeld werden die Werte eines Feldes der zugrundeliegenden Tabelle angezeigt. In diesem Formular wird immer der zum Eintrag des Kombifeldes passende Datensatz angezeigt. Es können auch Datensätze gelöscht werden. Mein Problem ist nun folgendes: Wenn ich einen Bereich lösche, dann bleibt im Kombifeld trotzdem noch der alte Wert stehen, obwohl es den dazugehörigen Datensatz nicht mehr gibt, in den restlichen Feldern wird auch ein andere Datensatz angezeigt. Ich habe beim Klicken-Ereignis der Löschen-Schaltfläche schon folgendes probiert, aber es klappt nicht:
Form.Requery
Me.KombiFeld.Requery
DoCmd.GoToRecord , , acFirst

Ich möchte also, dass beim Löschen von mir aus auf den ersten Datensatz gegangen wird, um der passende Eintrag im Kombinationsfeld steht.

JUHU
25.01.2001, 10:25
Hallo,

gib Deinen Kode unter dem Ereignis "nach Löschbestätigung - AfterDelConfirm im Formular ein.
Dies müßte funktionieren.
Gruß Jürgen

PS: Ändere noch Form.Requery in me.Requery um

Günther Kramer
25.01.2001, 10:25
Hallo Peda,

irgendwie verstehe ich dich nicht.
Wenn du nach dem Löschen den Code

Me!KombiFeld.Requery


(achte auf das Ausrufezeichen! -> Me!KombiFeld.Requery)
ausführst, dann muß doch auch der Eintrag aus der Kombifeldliste gelöscht sein, oder?
Was ist genau das Problem?

Peda
25.01.2001, 11:36
Hallo Günter,

ich habe genau diesen Code nach dem Löschen eingegeben, und es funktioniert ja auch, dass sich der Eintrag dann nicht mehr in der Liste befindet, wenn man sie aufblendet. Das Problem ist nur, dass wenn ich lösche, der Eintrag im Kombinationsfeld, der zu dem Datensatz gehört nicht auch gleich entfernt wird, sondern erst noch drin steht. Ich muss also erst einen anderen Wert in der Liste auswählen und genau das soll automatisch erfolgen. Hoffentlich ist es jetzt etwas verständlicher.

Günther Kramer
25.01.2001, 12:10
Hallo Peda,

mach es wie folgt:


Dim TMP_Kombifeld

TMP_Kombifeld = Me![Kombifeld]
' Hier baust du den Löschvorgang ein!
Me![Kombifeld].Requery
if TMP_Kombifeld = Me![Kombifeld] then
Me![Kombifeld] = ""
endif


Du kannst statt
Me![Kombifeld] = ""
auch folgenden Code verwenden:
Me![Kombifeld] = Null
oder
Me![Kombifeld] = Me![Kombifeld].ItemData(0)