Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Nicht gebundene Spalte aus Listbox mit Mehrfachauswahl

Begonnen von highmoe, August 04, 2016, 12:05:41

⏪ vorheriges - nächstes ⏩

highmoe

Guten Tag,
bin neu hier - beim Suchen auf dieses Forum gestoßen und gleich ne Frage...

Hintergrund:
ich arbeite an einem ziemlich umfangreichen Formular, welches anhand etliches auswählbarer Kriterien eine SQL-Abfrage aufbaut, die dann Daten aus Sharepointlisten und SQL-Server abfragt. Nun bin ich an einem Punkt angekommen, wo ich feststecke.

Ich habe eine Listbox (Select_AD_1) mit zwei Spalten, ID (gebundene Spalte) und Name .
Die Listbox ist auf Mehrfachauswahl Erweitert gesetzt.
Nach Auswahl frage ich über ItemsSelected & ItemData die ID(s) ab, die ich brauche für meine Abfrage, werden gespeichert in Arr_AD_1_Selection. Funktioniert.
Aus Platzgründen verkleinere ich die Listbox, wenn nicht in Gebrauch.
Damit die Anwender sehen können, was sie ausgewählt haben, auch wenn die Listbox nicht im Fokus ist, möchte ich im Feld Arr_AD_2_Selection die ausgewählten Namen anzeigen.
Funktioniert fast:
- nur ein Item ausgewählt, ok
- bei Mehrfachauswahl wird die richtige Anzahl an ausgewählten Items angezeigt, jedoch jeweils immer der zuletzt angewählte Name (n mal)

Wahrscheinlich habe ich nur ein kleines Blackout - weiß jemand die Lösung?
Vielen Dank im Voraus.

ZitatDim AD_1 As Variant

Me!Arr_AD_1_Selection = ""
Me!Arr_AD_2_Selection = ""

For Each AD_1 In Me.Select_AD_1.ItemsSelected
    If Me!Arr_AD_1_Selection = "" Then
        Me!Arr_AD_1_Selection = Me.Select_AD_1.ItemData(AD_1)
        Me!Arr_AD_2_Selection = Me.Select_AD_1.Column(1)
    Else
        Me!Arr_AD_1_Selection = Me!Arr_AD_1_Selection & ", " & Me.Select_AD_1.ItemData(AD_1)
        Me!Arr_AD_2_Selection = Me!Arr_AD_2_Selection & ", " & Me.Select_AD_1.Column(1)
    End If
Next

PhilS

Du musst bei dem Bezug auf de Column-Property der Listbox Spalte und Zeile angeben.
Ich denke deine AD_1 Variable sollte die korrekte Zeile enthalten, bin aber nicht ganz sicher.

Me!Arr_AD_2_Selection = Me.Select_AD_1.Column(1, AD_1)
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

highmoe

Ja, das war's.
Und zwar in beiden Zeilen des IF/ELSE, auch wenn es zunächst anscheinend klappt, nur die zweite Zeile zu erweitern.

Vielen, vielen Dank - ich hatte die ganze Zeit in eine andere Richtung gesucht (ItemsSelected).