VBA für Access
Das Objektmodell von Access: Listenfelder mit Mehrfachauswahl
Listenfelder mit Mehrfachauswahl
Auf dieser Seite
Mit Bild
Wie kann ich Listenfelder erstellen, bei denen der Benutzer mehrere Elemente auswählen kann? Wie kann ich solche Felder abfragen?
Mit Bild
Die ausgewählten Elemente einer Mehrfachauswahl untersuchen
Mit Bild
SubAlleAusgewähltenDaten() Dim frm As Form, ctl As Control Dim var Element As Variant, intI As Integer Set frm = Forms!Kontakte Set ct l= frm!Names For Each varElement In ctl.ItemsSelected For intI= 0 To ctl.ColumnCount-1 Debug.Printctl.Column(intI, VarElement) NextintI Debug.Print Next varElement End Sub
Mit Bild
Listenfelder mit Mehrfachauswahl werden erstellt, indem die Eigenschaft MultiSelect auf Einzeln oder Erweitert gesetzt wird.
Mit Bild
Bei der Einstellung Einzeln kann der Benutzer die Elemente mit der Maus durch einen einfachen Klick auswählen. Bei der Einstellung Erweitert muss der Benutzer mit UMSCHALT- und STRG-Taste arbeiten, um mehrere Elemente auszuwählen. Dies fällt Einsteigern oft schwer, mit ein wenig Übung sollte die nötige Fingerfertigkeit jedoch ohne Probleme erlernbar sein.
Mit Bild
Um festzustellen, welche Elemente ausgewählt wurden, verwendet man entweder die Methode Selected (Zeilenindex). Der Zeilenindex beginnt bei 0 zu wählen. Diese Methode gibt True oder False zurück. Um beispielsweise das fünfte Element eines Steuerelements "Listbox" zu überprüfen, schreibt man: Me!Listbox.Selected(4) = True.
Mit Bild
Die zweite Methode besteht in der Auflistung ItemsSelected. Diese enthält neben der Eigenschaft Count die Zeilennummern aller ausgewählten Elemente, die auf diese Weise leicht behandelt werden können, z. B.:
Mit Bild
Set ctl = frm!Namen For Each varElement In ctl.ItemsSelected Debug.Print ctl.ItemData(varElement) Next varElement
Mit Bild
Beachten Sie, dass Listenfelder mit Mehrfachauswahl niemals gebundene Steuerelemente sein können.