PDA

Vollständige Version anzeigen : prozedur beim klick in listenfeld ausführen


Mr. Pelle
02.10.2002, 16:46
Moin moin,

ich habe ein listenfeld erstellt und eine prozedur geschrieben, die gestartet werden soll, wenn ein eintrag in diesem listefeld markiert wird.
"schlau" wie ich war, habe ich die prozedur [listenfeld]_click genannt. Allerdings wird sie jetzt ja bei jedem klick aufgerufen.

wie kann die prozedur nur beim klick in dieses listenfeld gestartet werden.

gruß

pelle

SNowack
02.10.2002, 16:56
Hallo Pelle,

hast Du schon "beim hingehen" probiert ?

Mr. Pelle
02.10.2002, 17:09
Ja, das Problem dabei ist, wenn ich mehrere einträge nacheinander auswähle, ohne dabei in ein anderes feld zu klicken, wird die prozedur nicht ausgeführt, weil ich ja schon "hingegangen" bin.

gruß
pelle

ScotlandYard
02.10.2002, 17:55
Hi Pelle,

dann schreibe den Code doch einfach in das Ereignis "Nach Änderung". Dann passiert nur etwas, wenn du einen neuen Eintrag im Listenfeld auswählst ...

Hoffe, das klappt,

Scotty

Mr. Pelle
02.10.2002, 18:01
Moin ScotlandYard,

nach Änderung gibt es leider beim listefeld nicht.

sonst vielleicht noch idee?
trotzdem danke.

pelle

ScotlandYard
02.10.2002, 18:12
Und wie wäre es, wenn du einfach eine Befehlschaltfläche daneben setzt, die bei Click den Befehl ausführt? Dann kannst du in Ruhe deine Einträge markieren und danach die Prozedur starten!

Mr. Pelle
02.10.2002, 19:02
Ich habe jetzt die Lösung gefunden. Bei jedem Klick wird verglichen, ob ein neuer Eintrag markiert wurde.


Dim LetzterIndex As Long
Dim AktuellerIndex As Long
------------------------------------------------
Private Sub Form_Load()

Me!LfPersPersonenliste.selected(0) = True
LetzterIndex = 0
End Sub
------------------------------------------------
Private Sub LfPersPersonenliste_click()

AktuellerIndex = Me!LfPersPersonenliste.Column(1)
If LetzterIndex <> AktuellerIndex Then
<Meine Funktion>
Else
End If
LetzterIndex = Me!LfPersPersonenliste.Column(1)
End Sub


Für elegantere Vorschläge bin gerne offen.
Soweit danke

Pelle