Mehrfachauswahl in Listenfeldern auslesen

Listenfelder bieten im Gegensatz zur Datenblattansicht einen Vorteil: Sie können damit nicht nur einen, sondern auch mehrere Datensätze gleichzeitig auswählen. Dies bringt natürlich auch mehr Aufwand bei der Auswertung mit sich. Dieser Artikel zeigt, welche Auswahlmöglichkeiten Listenfelder liefern und wie Sie die ausgewählten Elemente per VBA-Code identifizieren.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1112_Mehrfachauswahl.mdb.

Einsatzzwecke für die Mehrfachauswahl

Listenfelder unterscheiden sich von Kombinationsfelder dadurch, dass Sie mehrere Datensätze beziehungsweise Einträge gleichzeitig anzeigen können.

Warum diesen Vorteil nicht nutzen und auch gleich noch die Auswahl mehrerer Einträge gleichzeitig anbieten Die Anwendungszwecke teilen sich auf zwei Bereiche auf, und meistens sind m:n-Beziehungen im Spiel:

  • Auswahl eines oder mehrere Einträge, mit denen eine bestimmte Aktion durchgeführt werden soll, zum Beispiel zum Hinzufügen oder Entfernen von Einträgen aus einer Verteilerliste. Dabei zeigt ein Listenfeld die ausgewählten Einträge an, das andere die nicht ausgewählten Einträge. Die Auswahl der hinzuzufügenden oder zu entfernenden Einträge erfolgt mit der Maus, das Verschieben mit einem Klick auf eine entsprechende Schaltfläche.
  • Darstellung der Elemente einer m:n-Beziehung: Hier kommt nur ein Listenfeld zum Einsatz. Dieses zeigt alle Datensätze der einen Seite der m:n-Beziehung an und aktiviert diejenigen Einträge, die aktuell verknüpft sind. Wenn Sie beispielsweise alle Länder auswählen möchten, in die Sie ein bestimmtes Produkt versenden, wäre dies ein geeignetes Mittel. Voraussetzung ist, dass die Menge der Einträge überschaubar ist, damit auch die markierten Einträge immer sichtbar sind.

Beispieltabellen

Im ersten Beispiel schauen wir uns die Mehrfachauswahl anhand der Tabelle tblPublikationen an, die lediglich aus den beiden Feldern PublikationID und Publikation besteht. Sie enthält einige Beispieldatensätze (siehe Bild 1).

Tabelle tblPublikationen mit Beispieldaten

Bild 1: Tabelle tblPublikationen mit Beispieldaten

Das Formular frmPublikationen enthält ein Listenfeld namens lstPublikationen. Die Datensatzherkunft des Listenfeldes ist auf die Tabelle tblPublikationen eingestellt.

Da alle Felder und alle Datensätze dieser Tabelle angezeigt beziehungsweise als gebundene Spalte verwendet werden sollen, brauchen wir nicht extra eine Abfrage anzulegen, die Felder und/oder anzuzeigende Datensätze einschränkt.

Damit die erste Spalte mit den Werten des Feldes PublikationID nicht angezeigt wird, stellen Sie die Eigenschaften Spaltenanzahl und Spaltenbreiten auf die Werte 2 und 0cm ein. Die erste Spalte wird somit automatisch ausgeblendet und die zweite über die volle Breite des Listenfeldes angezeigt (siehe Bild 2).

Access [basics]

Unser exklusives Angebot für Dich!

Access im Unternehmen
7,90 € im Monat*

(Das Abo ist jederzeit monatlich kündbar)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →