Hallo Zusammen!
Das Listenfeld "lstAddParameter" ist für eine Mehrfachauswahl konzipiert.
Bei der Column(2) handelt es sich um ein Bit-Feld (0 bzw. -1)
Screenshot 2021-11-26 170634.png
Um alle bzw. keine Daten zu markieren verwende ich
Dim N As Integer
For N = 0 To lstAddParameter.ListCount - 1
lstAddParameter.Selected(N) = TRUE '(bzw. FALSE für KEINE)
Next N
Jetzt will ich aber nur die Datensätze markieren, bei denen die Bedingung "lstAddParameter.Column(2) = -1" erfüllt ist und glaubte, in die For-Next-Schleife eine If-Then-Bedingung einbauen zu können:
Dim N As Integer
For N = 0 To lstAddParameter.ListCount - 1
If lstAddParameter.Column(2) = -1 Then
lstAddParameter.Selected(N) = True
End If
Next N
Leider funktioniert es so nicht.
Kann mir jemand sagen, was daran grundsätzlich falsch ist bzw. wie ich nur die Datensätze markieren kann, bei denen die Bedingung erfüllt ist ist?
Vielen Dank im Voraus für's Nachdenken und Helfen
Gruß,
Holger
Zitat von: Holger69 am November 26, 2021, 17:38:06Kann mir jemand sagen, was daran grundsätzlich falsch ist bzw. wie ich nur die Datensätze markieren kann, bei denen die Bedingung erfüllt ist ist?
Grundsätzlich falsch ist daran nichts. Allerdings hat die
Column-Property ein zusätzliches zweites Argument für die Zeile. Wenn du das weglässt, bezieht sich
Column immer auf den (ersten) ausgewählten Datensatz.
Ungeprüft:
For N = 0 To lstAddParameter.ListCount - 1
If lstAddParameter.Column(2, N) = -1 Then
lstAddParameter.Selected(N) = True
End If
Next N
DANKE!!!!
Das war's :)