Das ListView-Steuerelement – Grundlagen

Neben dem Listenfeld gibt es noch ein weiteres Steuerelement zur Anzeige von Listen: das ListView-Steuerelement. Dieses Steuerelemente ist allerdings kein in Access integriertes Steuerelement, sondern ein ActiveX-Steuerelement. Sie fügen es auf etwas anderem Wege zu einem Formular hinzu und füllen es nicht durch einfaches Zuweisen einer Datensatzherkunft, sondern per VBA. Darüber hinaus bietet es allerdings eine Reihe Möglichkeiten, die das herkömmliche Listenfeld nicht aufweist.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1207_ListView.mdb.

Eigenschaften des ListView-Steuerelements

Das ListView-Steuerelement bietet die folgenden Möglichkeiten:

  • Anzeigen von Icons und Texten
  • Anzeigen von Bildern
  • ändern der Spaltenbreite zur Laufzeit
  • Verwendung von Drag and Drop
  • Manuelles ändern des Inhalts (nur erste Spalte)
  • Sortierung per Mausklick

In dieser Artikelreihe sehen wir uns diese und weitere Techniken rund um das ListView-Steuerelement an.

ListView-Steuerelement anlegen

Das ListView-Steuerelement fügen Sie über den Eintrag ActiveX-Steuerelement der Liste der Steuerelemente hinzu. Dies öffnet den Dialog aus Bild 1, wo Sie den Wert Microsoft ListView Control, version 6.0 auswählen. Das ListView-Steuerelement wird zunächst recht klein angelegt (siehe Bild 2), sodass Sie dieses zunächst auf die gewünschte Größe ziehen. Vergeben Sie gleich einen Namen für das neu hinzugefügte Steuerelement. In diesem Beispiel wollen wir die Daten der Tabelle tblPersonal im ListView-Steuerelement anzeigen, also nennen wir das Steuerelement lvwPersonal.

Auswählen des ListView-Steuerelements

Bild 1: Auswählen des ListView-Steuerelements

Ein ListView-Steuerelement direkt nach dem Hinzufügen

Bild 2: Ein ListView-Steuerelement direkt nach dem Hinzufügen

Handhabung des ListView-Steuerelements unter VBA

Einer der wichtigsten Unterschiede zwischen eingebauten Steuerelementen und ActiveX-Steuerelementen ist folgender: Wenn Sie unter VBA mit einem eingebauten Steuerelement arbeiten und dieses etwa mit Me!txtVorname referenzieren, können Sie über IntelliSense gleich auf alle Eigenschaften zugreifen, die für dieses Steuerelement vorgesehen sind. Bei ActiveX-Steuerelementen sieht dies etwas anders aus. Wenn Sie etwa mit Me!lvwPersonal auf das soeben angelegte ListView-Steuerelement zugreifen und dann einen Punkt eintippen, zeigt IntelliSense nur die Eigenschaften an, die alle ActiveX-Steuerelemente gemeinsam aufweisen (siehe Bild 3). Um per VBA und IntelliSense direkt auf die ListView-spezifischen Eigenschaften zuzugreifen, sind einige zusätzliche Schritte nötig. Der erste ist, dass Sie im Klassenmodul des Formulars eine Objektvariable deklarieren, die genau den Typ des ListView-Steuerelements aufweist – etwa so:

Standardeigenschaften von ActiveX-Steuerelementen

Bild 3: Standardeigenschaften von ActiveX-Steuerelementen

Dim objLvwPersonal As MSComctlLib.ListView

Diese Variable müssen Sie nun nur noch mit einem entsprechenden Verweis füllen. Das erledigen Sie direkt beim öffnen des Formulars, aber nicht in der Ereignisprozedur, die durch das Ereignis Beim öffnen ausgelöst wird, sondern im Ereignis Beim Laden. Beim öffnen ist möglicherweise zu früh, gegebenenfalls führt der Zugriff auf ein ActiveX-Steuerelement zu diesem Zeitpunkt zu Problemen. Also legen Sie eine Ereignisprozedur an, die durch das Ereignis Beim Laden des Formulars ausgelöst wird. Dieser Prozedur fügen Sie zunächst nur eine einzige Zeile hinzu, welche die Zuweisung übernimmt:

Private Sub Form_Load()
     Set objLvwPersonal = Me!lvwPersonal.Object
End Sub

Im Gegensatz zu den eingebauten Steuerelementen, bei denen die Zuweisung einfach über einen Verweis wie Me!txtVorname erfolgt, wird der Verweis hier gezielt über die Eigenschaft Object des ActiveX-Steuerelements hinzugefügt. Danach können Sie dann per IntelliSense auf die eigentlichen Eigenschaften des ListView-Steuerelements zugreifen (siehe Bild 4).

Spezielle Eigenschaften des ListView-Steuerelements

Bild 4: Spezielle Eigenschaften des ListView-Steuerelements

Einträge zum ListView-Steuerelement hinzufügen

Nachdem dies erledigt ist, fügen Sie den ersten Eintrag zum ListView-Steuerelement hinzu – zunächst noch nicht auf Basis der Tabelle tblPersonal, sondern durch übergabe eines Literals mit dem Namen. Fügen Sie dazu die folgenden Zeilen zur obigen Prozedur hinzu:

With objLvwPersonal
     .ListItems.Add 1, "a1", "André Minhorst"
End With

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar