ListView-Steuerelement mit Daten füllen

Zusammenfassung

Verwenden Sie das ListView, um Daten aus Tabellen und Abfragen anzuzeigen.

Techniken

ListView-Steuerelement, VBA

Voraussetzungen

Access 2000 und höher

Beispieldateien

ListView.mdb, MSCOMCTL.msi

André Minhorst, Duisburg

Wie das TreeView-Steuerelement bietet das ListView keine Möglichkeit der direkten Bindung an eine Datenherkunft wie eine Tabelle oder Abfrage. Die einzelnen Datensätze der zugrunde liegenden Datenherkunft müssen Stück für Stück programmatisch zum ListView hinzugefügt werden. Der vorliegende Beitrag zeigt, wie das funktioniert.

Wer das ListView anstelle des herkömmlichen Listenfeldes von Access zur listenartigen Anzeige von in Tabellen gespeicherten Daten verwenden möchte, kommt um den Einsatz von VBA nicht herum. Im folgenden Beispiel erfahren Sie, wie man ein ListView-Steuerelement mit den in einer Tabelle enthaltenen Daten füllt. Als Datenherkunft dient die Tabelle Personal der Nordwind-Datenbank. Das ListView-Steuerelement soll für jeden Mitarbeiter Nachname, Vorname und die Büro-Durchwahl anzeigen.

Bevor Sie das ListView-Steuerelement mit Daten füllen, nehmen Sie einige Einstellungen am Layout des Steuerelements vor. Als Erstes stellen Sie die Eigenschaft View auf der Registerseite Allgemein des Eigenschaftsfensters auf den Wert 3 – lvwReport ein.

Anschließend bereiten Sie das ListView für die Anzeige von drei Spalten je Zeile vor. Dazu wechseln Sie im Eigenschaftsfenster auf die Seite Spaltenköpfe und fügen einige Einträge wie in Bild 1 hinzu.

Dann können Sie schon die VBA-Prozedur für das Füllen des ListView-Steuerelements anlegen. Das ListView soll direkt beim öffnen des Formulars gefüllt werden, also verwenden Sie die Beim Laden-Ereigniseigenschaft.

Die fertige Routine sieht wie in Quellcode 1 aus. Sie deklariert zunächst die für den Datenzugriff benötigten Objekte und instanziert diese. In einer Do While-Schleife durchläuft sie dann alle in der Datensatzgruppe enthaltenen Datensätze.

Und hier kommt der für das ListView interessante Teil: Für jeden Eintrag legt die Routine ein neues ListItem-Element an und referenziert es mit der Objektvariablen objListItem. Das ist nötig, weil ein solches Element allein nur eine Spalte darstellen kann. Die weiteren Felder der Tabelle finden ihren Platz in Elementen der Auflistung ListSubItems des aktuellen Listenelements. Das war es schon – das ListView sollte sich nun etwa wie in Bild 2 präsentieren.


Nur für Abonnenten

Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

Bereits Abonnent? Hier einloggen


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 →

Schreibe einen Kommentar