ListView-Element in MS Access
Die Visualisierung von Daten gehört zu den Hauptaufgaben einer Datenbank Applikation. Ob Kundendatenbank oder Produkverwaltung, Schichtplan oder CRM-System, meist sollen Daten als Ergebnis einer
Anfrage übersichtlich zur Weiterverabeitung angzeigt werden. Hierfür bietet MS-Access u.a. das Listenfeld: mit ihm werden die Daten zeilenweise und mehrspaltig dargestellt.
Das ListView-Element ist mehr als nur eine Alternative für das MS-Access Listenfeld: die zeilenweise und mehrspaltig Darstellung beherrscht es ebenso wie das Listenfeld doch durch die vielfältigen Gestaltungsmöglichkeiten
lässt es sich durch die Programmierung mit VBA optimal an die Anforderungen einer Benutzeroberläche anpassen:
Vorteile des ListView Controls
- Verwendung von Checkboxen
- Darstellung von Icons in Spaltenbeschriftung
- Darstellung von Icons
- Sortierung nach Spalten
ListView Darstellungs-Optionen
- lvwReport
Neben der Darstellung des eigentlichen Wertes können zusätzliche Informationen in Spalten als Text oder Icon dargestellt werden.
Beachten Sie im dargestellten Beispiel, dass auch ein Icon in der Spaltenbeschriftung (Sortierung abwärst) verwendet wurde. Zusätzliche Informationen können über die EigenschaftToolTip
eingeblendet werden. - lvwIcon/lvwSmallIcon
In diesen Ansichten wird der Inhalt von links nach rechts und von oben nach unten Dargestellt. - lvwList
Beginnend links oben wird der Inhalt als Liste spaltenweise dargestellt. Ist das Ende einer Spalte erreicht, wird die Liste rechts der vorherigen Spalte fortgeführt.
VBA Programmierung des ListView Elements
Verwendung der Icons
Für die Verwendung von Icons im ListView Element muss dieses zuerst an eine ImageList gebunden werden:With | ListView | |
.SmallIcons = objSmallIconLst | Quelle für kleine Icons | |
.Icons = objSmallIconLst | Quelle für groß Icons | |
.ColumnHeaderIcons = objSmallIconLst | Quelle für Icons der Spaltenbeschriftung | |
End With |
Spaltenbeschriftung
ListView.ColumnHeaders.Add , , Spaltenbeschriftung, Spaltenbreite, , Icon
ListView Inhalt
Da das ListView Control ebenso wie das TreeView Element kein Access Steuerelement ist, wird es auch nicht an eine Datenquelle gebunden. Das Füllen des ListView Elements geschieht ausschliesslich mit VBA, daher können auch Daten aus anderern Datenquellen wie z.B. MySQL, MS Excel oder XML Dateien visualisiert werden.Im Folgenden wird dem ListView Control neur Inhalt mit der Methode
.Add
und ergänzende Informationen über das Rückgabe-Objekt oItem
hinzugefügt:
Set oItem = oLV.ListItems.Add(, , Item Text, Icon_groß, Icon klein) | Rückgabe ist ein Objekt (oItem) auf den Eintrag |
oItem.ListSubItems.Add , , Subitem Text, Icon klein, ToolTip-Text | Fügt dem Eintrag einen weiteren Wert hinzu (lvwReport) mit Icon und Tool-Tip |
Hinweis zur Verwendung des ListView Elements mit MS-Access Registersteuerelement:
Aufgrund eines Bugs funktioniert das ListView Conrol NICHT verlässlich, wenn es auf der Seite eines Registersteuerelements verwendet wird. Nach einem Wechsel der Registerseite wird das ListView Element oftmals nicht an der ursprünglichen Position, sondern an
der Position 0/0 gezeichnet und bei aktivierter Checkbox-Anzeige werden diese nicht dargestellt.
Ablilfe: Im einfachsten Fall lässt sich der Inhalt des ListView Controls beim Seitenwechsel durch ListView.visible=false
und ListView.visible=true
korrekt darstellen.