Hallo,
kann mir netterweise jemand folgende VBA Zeile erklären, welche als Ereignis Nach Aktualisierung an einem Kombifeld hängt:
Private Sub lstKarten_AfterUpdate()
Dim strKarten As String
Dim itm As Variant
If Me.lstKarten.ItemsSelected.count > 0 Then
' ausgewählte Karten anzeigen
For Each itm In lstKarten.ItemsSelected
strKarten = strKarten & "," & Me.lstKarten.ItemData(itm)
Next
Me.ufKarten.Form.Filter = "SpielID in (" & Mid(strKarten, 2) & ")"
Me.ufKarten.Form.FilterOn = True
Else
' leeres Ufo anzeigen
Me.ufKarten.Form.Filter = "False"
Me.ufKarten.Form.FilterOn = True
End If
End Sub
Es geht mir in erster Linie um diesen Part
For Each itm In lstKarten.ItemsSelected
strKarten = strKarten & "," & Me.lstKarten.ItemData(itm)
Next
Me.ufKarten.Form.Filter = "SpielID in (" & Mid(strKarten, 2) & ")"
Me.ufKarten.Form.FilterOn = True
Damit komme ich nicht klar, versteh ihn nicht. Danke für die Mühe und die Hilfe.
Gruß Andreas
Hi,
anbei ein Erklärungsversuch:
In der for-Schleife werden die von Dir selektierten Listeneinträge "herausgepickt" und zu einer durch Komma getrennten Liste in der Variablen strKarten zusammengestellt. Diese wird zum Filtern eingesetzt.
"Mid(strKarten, 2)": Damit wird das Komma vom ersten Schleifendurchlauf in dieser Liste entfernt.
Harald
Hi,
danke Harald. Dann habe ich dazu endlich mal die Erklärung.
Gruß Andreas