Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Holger69 am November 26, 2021, 17:38:06

Titel: Mehrfachauswahl im Listenfeld mit Bedingung (For-Next kombiniert mit If-Then)
Beitrag von: Holger69 am November 26, 2021, 17:38:06
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

Titel: Re: Mehrfachauswahl im Listenfeld mit Bedingung (For-Next kombiniert mit If-Then)
Beitrag von: PhilS am November 26, 2021, 18:16:54
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
Titel: Re: Mehrfachauswahl im Listenfeld mit Bedingung (For-Next kombiniert mit If-Then)
Beitrag von: Holger69 am November 26, 2021, 18:34:45
DANKE!!!!
Das war's :)