Listenfeld: AfterUpdate zeigt alten Zustand bei Wechsel per Pfeiltaste :-(

09/02/2009 - 15:01 von Karl Effinger | Report spam
Hallo Gruppe!

Ich habe ein Listenfeld mit erweiterter Mehrfachauswahl.
Im Ereignis "AfterUpdate" gehe ich per

For Each varElem In Me.lstAuswahlliste.ItemsSelected

durch die markierten Eintràge, um die Datenbasis einer anderen Liste
entsprechend zu aktualisieren. Soweit so gut. Bei Auswahl per
Mausklick klappt das auch prima. Aber wenn ich mit der "Pfeil nach
oben" oder "Pfeil nach unten"-Taste den Eintrag wechsle, dann wird das
"After Update"-Ereignis abgefeuert noch bevor der nàchste/vorige
Eintrag in der Liste markiert wird - und in ItemsSelected ist der
zuletzt selektierte Eintrag vermerkt.
Was mache ich falsch oder wie kann's klappen?

Karl
 

Lesen sie die antworten

#1 Thomas Möller
09/02/2009 - 18:21 | Warnen spam
Hallo Karl,

Karl Effinger schrieb:
Ich habe ein Listenfeld mit erweiterter Mehrfachauswahl.
Im Ereignis "AfterUpdate" gehe ich per

For Each varElem In Me.lstAuswahlliste.ItemsSelected

durch die markierten Eintràge, um die Datenbasis einer anderen Liste
entsprechend zu aktualisieren. Soweit so gut. Bei Auswahl per
Mausklick klappt das auch prima. Aber wenn ich mit der "Pfeil nach
oben" oder "Pfeil nach unten"-Taste den Eintrag wechsle, dann wird das
"After Update"-Ereignis abgefeuert noch bevor der nàchste/vorige
Eintrag in der Liste markiert wird - und in ItemsSelected ist der
zuletzt selektierte Eintrag vermerkt.
Was mache ich falsch oder wie kann's klappen?



Mit den Tasten PageUp bzw. PageDown wechselst Du zum vorherigen bzw. zum
nàchsten Datensatz. Wenn Du dieses Verhalten unterdrücken willst, dann
füge in das Ereignis "Bei Taste Ab" des Listenfeldes folgenden Code ein:


Select Case KeyCode
Case vbKeyPageUp
KeyCode = 0
Case vbKeyPageDown
KeyCode = 0
Case Else
'Nichts tun
End Select


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen