{"id":55001572,"date":"2025-12-01T00:00:00","date_gmt":"2025-12-02T21:35:46","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1572"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Listen_anzeigen_mit_dem_ListViewSteuerelement","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/","title":{"rendered":"Listen anzeigen mit dem ListView-Steuerelement"},"content":{"rendered":"<p><b>Die Datenblatt-Ansicht und das Listenfeld sind die bevorzugten Bordmitteln, um Daten in Access in Listenform anzuzeigen. Beide haben Vor- und Nachteile. Doch es gibt auch noch das ListView-Steuerelement, das als ActiveX-Control kommt und mit dem sich viele unterschiedlichen Ansichten realisieren lassen. In diesem Beitrag schauen wir uns an, wie wir Listen mit dem ListView-Steuerelement abbilden k&ouml;nnen &#8211; inklusive Funktionen wie Kontrollk&auml;stchen, Icons, Umbenennen und vielen mehr. <\/b><\/p>\n<p>Listen werden in Access-Anwendungen immer wieder ben&ouml;tigt. Wenn die Daten bearbeitet werden sollen und Spalten angeordnet, vergr&ouml;&szlig;ert und verkleinert oder ein- und ausgeblendet werden sollen, ist die Datenblattansicht die beste Wahl.<\/p>\n<p>Wenn Daten nur zur Auswahl angeboten werden sollen, bietet sich das Listenfeld an. Im Gegensatz zur Datenblattansicht offeriert dieses Steuerelement auch noch die M&ouml;glichkeit verschiedener Mehrfachauswahlmodi. Beide haben den gro&szlig;en Vorteil, dass man Datenquellen wie Tabellen oder Abfragen direkt binden kann und dazu kein zus&auml;tzlicher Code erforderlich ist.<\/p>\n<p>Eine weitere M&ouml;glichkeit zur Darstellung von Listen ist das in diesem Beitrag vorgestellte <b>ListView<\/b>-Steuerelement. Der Nachteil gleich zu Beginn: Um es mit Daten zu f&uuml;llen, ben&ouml;tigen wir zwangsl&auml;ufig VBA-Code.<\/p>\n<p>Es kann nicht einfach an eine Tabelle oder Abfrage gebunden werden, sondern wir m&uuml;ssen die einzelnen Eintr&auml;ge programmgesteuert hinzuf&uuml;gen.<\/p>\n<p>Vorteile sind unter anderem die verschiedenen Ansichten, mit denen wir sowohl Daten in tabellarischer Form oder auch Bilder in Matrix-Form darstellen k&ouml;nnen. Au&szlig;erdem k&ouml;nnen wir ein Kontrollk&auml;stchen zum einfachen Markieren von Eintr&auml;gen anzeigen lassen. Und wir k&ouml;nnen einfachen Listeneintr&auml;gen sogar Icons hinzuf&uuml;gen. Nachfolgend schauen wir uns die verschiedenen Techniken zum Anzeigen von Daten in ListView-Steuerelementen an und gehen auch darauf ein, wie wir mit den enthaltenen Eintr&auml;gen arbeiten k&ouml;nnen &#8211; beispielsweise, um per Doppelklick ein Detailformular zur Bearbeitung anzuzeigen.<\/p>\n<p>Das Bearbeiten ist n&auml;mlich beim <b>ListView<\/b>-Steuerelement nur f&uuml;r die erste Spalte m&ouml;glich.<\/p>\n<h2>Anlegen eines ListView-Steuerelements<\/h2>\n<p>Um einem Formular ein ListView-Steuerelement hinzuzuf&uuml;gen, &ouml;ffnen wir das Formular in der Entwurfsansicht und w&auml;hlen im Ribbon den Befehl <b>Formularentwurf|Steuerelemente|ActiveX-Steuerelemente <\/b>aus (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_001.png\" alt=\"Auswahl der ActiveX-Steuerelemente\" width=\"549,559\" height=\"299,2138\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Auswahl der ActiveX-Steuerelemente<\/span><\/b><\/p>\n<p>Dies blendet den Dialog <b>ActiveX-Steuerelement einf&uuml;gen <\/b>ein, in dem wir den Eintrag <b>Microsoft ListView Control, version 6.0 <\/b>finden (siehe Bild 2). Nach der Auswahl klicken wir auf <b>OK<\/b>, um das Steuerelement zum Formularentwurf hinzuzuf&uuml;gen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_002.png\" alt=\"Auswahl des ListView-Steuerelements\" width=\"424,5589\" height=\"465,2869\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Auswahl des ListView-Steuerelements<\/span><\/b><\/p>\n<p>Das neue <b>ListView<\/b>-Steuerelement erscheint erst einmal recht unauff&auml;llig (siehe Bild 3), weshalb wir erst einmal seine Gr&ouml;&szlig;e anpassen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_003.png\" alt=\"ListView-Steuerelement im Formularentwurf\" width=\"424,5589\" height=\"178,2099\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: ListView-Steuerelement im Formularentwurf<\/span><\/b><\/p>\n<p>Danach stellen wir seinen Namen ein. Wenn nur ein <b>ListView<\/b>-Steuerelement vorhanden ist, nennen wir es &uuml;blicherweise <b>ctlListView<\/b>. Nat&uuml;rlich kann man auch den &uuml;blichen Benennungskonventionen folgen und einen Namen wie <b>lvwKunden <\/b>oder <b>lvwProdukte <\/b>w&auml;hlen.<\/p>\n<p>Zu Beispielzwecken belassen wir es hier bei <b>ctlListView<\/b>.<\/p>\n<h2>Grundeinstellungen vornehmen<\/h2>\n<p>Das <b>ListView<\/b>-Steuerelement bietet verschiedene Einstellungen f&uuml;r das Erscheinungsbild an. Diese k&ouml;nnen wir in den Eigenschaften des <b>ListView<\/b>-Steuerelements anpassen oder wir legen diese per VBA fest.<\/p>\n<p>Im Eigenschaftenblatt finden wir die <b>ListView<\/b>-spezifischen Einstellungen auf der Registerseite <b>Andere<\/b> (siehe Bild 4). Diese schauen wir uns in den folgenden Abschnitten im Detail an.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_004.png\" alt=\"Eigenschaften des ListView-Steuerelements\" width=\"424,5589\" height=\"463,2617\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Eigenschaften des ListView-Steuerelements<\/span><\/b><\/p>\n<h2>Eigenschaften des ListView-Steuerelements<\/h2>\n<p>Die nachfolgend vorgestellten Eigenschaften k&ouml;nnen wir &uuml;ber das Eigenschaftenblatt umstellen oder per VBA. Praktischerweise werden die Eigenschaften des <b>ListView<\/b>-Steuerelements hier in englischer Sprache abgebildet, sodass wir nicht lange nach den VBA-Pendants suchen m&uuml;ssen.<\/p>\n<h2>Eigener Eigenschaftendialog<\/h2>\n<p>Noch praktischer ist allerdings, dass das <b>ListView<\/b>-Steuerelement einen eigenen Eigenschaften-Dialog anbietet, den wir mit dem Kontextmen&uuml;-Eintrag <b>ListViewCtrl-Objekt|Properties <\/b>&ouml;ffnen (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_005.png\" alt=\"Anzeigen der Eigenschaften im eigenen Dialog\" width=\"424,5589\" height=\"231,7422\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Anzeigen der Eigenschaften im eigenen Dialog<\/span><\/b><\/p>\n<p>Dieser zeigt die Eigenschaften wie in Bild 6 an. Im Gegensatz zum herk&ouml;mmlichen Eigenschaftenblatt sehen wir hier auch gleich die Bezeichnungen der Eigenschaftswerte und nicht nur die entsprechenden Zahlenwerte.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_006.png\" alt=\"Eigener Eigenschaftendialog\" width=\"424,5589\" height=\"408,6379\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Eigener Eigenschaftendialog<\/span><\/b><\/p>\n<p>Im Reiter <b>General <\/b>sehen wir zun&auml;chst einige Auswahlfelder f&uuml;r die folgenden Eigenschaften:<\/p>\n<ul>\n<li><b>AllowColumnReorder<\/b>: Gibt an, ob der Benutzer die Anordnung in der Ansicht <b>lvwReport <\/b>selbstst&auml;ndig anpassen kann (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>Arrange<\/b>: Erwartet einen der Werte <b>lvwNone<\/b>, <b>lvwAutoLeft <\/b>oder <b>lvwAutoTop<\/b>. Die Werte geben an, in welcher Orientierung Icons in den Ansichten <b>lvwIcon <\/b>und <b>lvwSmallIcon <\/b>hinzugef&uuml;gt werden. <b>lvwAutoLeft <\/b>f&uuml;llt erst die erste Spalte und dann die folgenden Spalten, <b>lvwAutoTop <\/b>f&uuml;llt erst die erste Zeile und dann die folgenden Zeilen.<\/li>\n<li><b>Appearance<\/b>: Legt fest, ob das Steuerelement dreidimensional angezeigt wird (<b>cc3d<\/b>) oder flach (<b>ccFlat<\/b>).<\/li>\n<li><b>BorderStyle<\/b>: Legt den Stil des Rahmens fest. Kann die Werte <b>ccFixedSingle <\/b>oder <b>ccNone<\/b> annehmen.<\/li>\n<li><b>Checkboxes<\/b>: Gibt an, ob Kontrollk&auml;stchen zur Auswahl von Eintr&auml;gen angezeigt werden sollen (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>Enabled<\/b>: Gibt an, ob das Steuerelement aktiviert oder deaktiviert ist (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>FlatScrollbar<\/b>: Legt fest, ob die Bildlaufleisten in der 2D- oder 3D-Ansicht angezeigt werden sollen (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>FullRowSelect<\/b>: Gibt an, ob markierte Zeilen vollst&auml;ndig markiert werden sollen oder nur die erste Spalte (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>Gridlines<\/b>: Gibt an, ob in der Ansicht <b>lvwReport <\/b>Gitternetzlinien zwischen Zeilen und Spalten angezeigt werden sollen.<\/li>\n<li><b>HideColumnHeaders<\/b>: Gibt an, ob Spalten&uuml;berschriften ein- oder ausgeblendet werden sollen (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>HideSelection<\/b>: Gibt an, ob die Auswahl markiert bleibt, wenn das Steuerelement den Fokus verliert (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>HotTracking<\/b>: Legt fest, ob der Eintrag, der gerade mit der Maus &uuml;berfahren wird, optisch hervorgehoben werden soll (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>HoverSelection<\/b>: Legt fest, ob Eintr&auml;ge, &uuml;ber denen die Maus kurze Zeit verweilt, automatisch markiert werden sollen (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>LabelEdit<\/b>: Gibt an, ob die Beschriftung der ersten Spalte in der Ansicht <b>lvwReport<\/b> beziehungsweise die einzige Beschriftung der &uuml;brigen Ansichten ge&auml;ndert werden darf. <b>lvwAutomatic <\/b>erlaubt das Bearbeiten nach dem Anklicken des aktiven Elements, <b>lvwManual <\/b>erlaubt nur das codegesteuerte &Auml;ndern.<\/li>\n<li><b>LabelWrap<\/b>: Gibt an, ob l&auml;ngere Texte in der Ansicht <b>lvwIcon <\/b>umbrochen werden sollen.<\/li>\n<li><b>MousePointer<\/b>: Stellt verschiedene Mauszeiger ein.<\/li>\n<li><b>MultiSelect<\/b>: Gibt an, ob bei gedr&uuml;ckter Umschalt- oder Strg-Taste mehrere Eintr&auml;ge gleichzeitig markiert werden k&ouml;nnen (<b>True<\/b>\/<b>False<\/b>).<\/li>\n<li><b>OLEDragMode<\/b>: Gibt an, wie das Steuerelement Drag-and-Drop-Operationen initialisiert, wenn der Benutzer ein Objekt zieht. Bei <b>ccOLEDragManual <\/b>wird Drag and Drop manuell per Code gestartet (zum Beispiel durch Aufruf von <b>OLEStartDrag<\/b>). Bei <b>ccOLEDragAutomatic <\/b>wird Drag and Drop automatisch gestartet, sobald der Benutzer ein Element zieht.<\/li>\n<li><b>OLEDropMode<\/b>: Legt fest, wie das Steuerelement auf ein beim Drag and Drop fallengelassenes OLE-Objekt reagiert. Der Wert <b>ccOLEDropNone<\/b> erlaubt keine OLE-Drop-Operation. Bei <b>ccOLEDropManual <\/b>werden Drag and Drop-Ereignisse manuell im Code behandelt (in den Ereignissen <b>OLEDragOver <\/b>und <b>OLEDragDrop<\/b>). Bei <b>ccOLEDropAutomatic <\/b>wird der Inhalt automatisch an das Steuerelement &uuml;bergeben.<\/li>\n<li><b>View<\/b>: Stellt die Ansicht ein. Die verf&uuml;gbaren Werte sind <b>lvwIcon<\/b>, <b>lvwSmallIcon<\/b>, <b>lvwList <\/b>und <b>lvwReport<\/b>. Wenn wir Daten mit mehrern Spalten in Listenform anzeigen wollen, nutzen wir hier den Eintrag <b>lvwReport<\/b>. F&uuml;r einspaltige ListViews stellen wir <b>lvwList <\/b>ein. Wenn wir Icons oder Bilder anzeigen wollen, nutzen wir <b>lvwIcon <\/b>oder <b>lvwSmallIcons<\/b>. <\/li>\n<\/ul>\n<h2>Eigenschaften per Eigenschaftenblatt oder VBA festlegen?<\/h2>\n<p>Die Mehrzahl der Entwickler stellt die Eigenschaften von Formularen und Steuerelementen &uuml;ber das Eigenschaftenblatt ein. Beim <b>ListView<\/b>-Steuerelement ist das jedoch etwas unkomfortable, da man hier immer wieder den Eigenschaften-Dialog &uuml;ber das Kontextmen&uuml; &ouml;ffnen muss, statt direkt darauf zuzugreifen wie bei den eingebauten Steuerelementen.<\/p>\n<p>Au&szlig;erdem haben wir festgestellt, dass wir immer wieder ein festes Set von Eigenschaftswerten f&uuml;r den Einsatz von <b>ListView<\/b>-Steuerelementen nutzen.<\/p>\n<p>Au&szlig;erdem muss man ohnehin eine Prozedur schreiben, die beispielsweise beim Laden des Formulars das <b>ListView<\/b>-Steuerelement mit Daten f&uuml;llt. Dann kann man auch gleich die Eigenschaften einstellen. Deshalb erledigen wir dies in diesem Beitrag ebenfalls per VBA.<\/p>\n<h2>Me.ctlListView oder objListView?<\/h2>\n<p>Bei eingebauten Access-Steuerelementen greifen wir in VBA am einfachsten &uuml;ber den Verweis auf das Klassenmodul und den Steuerelementnamen auf das jeweilige Steuerelement zu, zum Beispiel mit <b>Me.txtBeispiel<\/b>. Das gelingt auch mit dem <b>ListView<\/b>-Steuerelement. Allerdings erhalten wir dann nur die Standardeigenschaften von Steuerelementen und k&ouml;nnen nicht per IntelliSense auf die spezifischen Eigenschaften des <b>ListView<\/b>-Steuerelements zugreifen. Um das zu erm&ouml;glichen, ben&ouml;tigen wir eine Objektvariable, die wir beispielsweise wie folgt deklarieren:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objListView<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListView<\/pre>\n<p>Danach weisen wir dieser nicht etwa <b>Me.ctlListView <\/b>als Wert zu, sondern <b>Me.ctlListView.Object<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Set<\/span> objListView = Me.ctlListView.Object<\/pre>\n<p>Damit k&ouml;nnen wir nun Intellisense f&uuml;r die Variable objListView nutzen (siehe Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_009.png\" alt=\"Eigenschaften des ListView-Steuerelements per IntelliSense\" width=\"424,5589\" height=\"285,8583\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Eigenschaften des ListView-Steuerelements per IntelliSense<\/span><\/b><\/p>\n<h2>Einspaltiges ListView-Steuerelement mit Daten f&uuml;llen<\/h2>\n<p>Die einfachste Aufgabe ist es, ein <b>ListView<\/b>-Steuerelement mit einer einzigen Zeile mit Daten zu f&uuml;llen. Dazu nutzen wir das Listenfeld aus dem Formular <b>frmListView_Einspaltig<\/b>.<\/p>\n<p>Mit der folgenden Prozedur nehmen wir zun&auml;chst einige Standardeinstellungen vor, durch die das Steuerelement optisch ansprechend dargestellt wird (<b>BorderStyle <\/b>und <b>Appearance<\/b>). Au&szlig;erdem legen wir die <b>View <\/b>auf <b>lvwList <\/b>fest f&uuml;r die einspaltige Listenansicht.<\/p>\n<p>Danach f&uuml;llen wir das <b>ListView<\/b>-Steuerelement mit drei Eintr&auml;gen. Dazu nutzen wir die Methode <b>Add <\/b>der <b>ListItems<\/b>-Auflistung:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Dim <\/span>objListView<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListView\r\n     <span style=\"color:blue;\">Set<\/span> objListView = Me.ctlListView.Object\r\n     \r\n     <span style=\"color:blue;\">With<\/span> objListView\r\n         .View = lvwList\r\n         .BorderStyle = ccNone\r\n         .Appearance = ccFlat\r\n         \r\n         .ListItems.Add , \"a1\", \"Text 1\"\r\n         .ListItems.Add , \"a2\", \"Text 2\"\r\n         .ListItems.Add , \"a3\", \"Text 3\"\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die <b>Add<\/b>-Methode erwartet die folgenden Parameter:<\/p>\n<ul>\n<li><b>Index<\/b>: Gibt die Position an, an der das Element eingef&uuml;gt werden soll. Wenn die Elemente in der gew&uuml;nschten Reihenfolge hinzugef&uuml;gt werden, kann <b>Index <\/b>leer bleiben. Ansonsten f&uuml;hrt beispielsweise die Verwendung des Wertes <b>1 <\/b>dieses <b>1<\/b>-basierten Indexes dazu, dass das neue Element an erster Stelle vor eventuell bereits enthaltenen Elementen eingef&uuml;gt wird.<\/li>\n<li><b>Key<\/b>: Muss einen eindeutigen Identifizierer enthalten. Dieser muss mit einem Buchstaben beginnen. Wenn man Daten aus Tabellen einf&uuml;gt, bietet sich die Kombination aus einem Buchstaben und dem Prim&auml;rschl&uuml;sselwert des jeweiligen Eintrags an.<\/li>\n<li><b>Text<\/b>: Erwartet den f&uuml;r dieses Element anzuzeigenden Text.<\/li>\n<li><b>Icon<\/b>: Hier k&ouml;nnen wir, wenn wir ein <b>ImageList<\/b>-Steuerelement mit Icons zum Formular hinzugef&uuml;gt haben, den Key oder den Index des f&uuml;r diesen Eintrag anzuzeigenden Icons angeben. Diesen Parameter k&ouml;nnen wir in der Ansicht <b>lvwIcon <\/b>nutzen. Auf Icons gehen wir weiter unten ein.<\/li>\n<li><b>SmalIcon<\/b>: Damit k&ouml;nnen wir ebenfalls ein Icon zu einem Eintrag hinzuf&uuml;gen. Dieser Parameter ist f&uuml;r die Ansichten <b>lvwSmallIcon<\/b>, <b>lvwList <\/b>und <b>lvwDetail <\/b>zu verwenden.<\/li>\n<\/ul>\n<p>Geben wir also nun nur Werte f&uuml;r die Parameter <b>Key <\/b>und <b>Text <\/b>an, erhalten wir die Ansicht aus Bild 8. Damit sich das <b>ListView<\/b>-Steuerelement vom Hintergrund abhebt, haben wir die Eigenschaft <b>Rahmenart <\/b>auf Durchgezogen eingestellt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_007.png\" alt=\"ListView-Steuerelement mit einspaltiger Ansicht\" width=\"424,5589\" height=\"204,6297\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: ListView-Steuerelement mit einspaltiger Ansicht<\/span><\/b><\/p>\n<h2>Mehrspaltiges ListView-Steuerelement mit Daten f&uuml;llen<\/h2>\n<p>Mehrspaltige <b>ListView<\/b>-Steuerelemente sind ein wenig aufwendiger zu bef&uuml;llen. Wir schauen uns dies im Formular <b>frmListView_Mehrspaltig <\/b>an.<\/p>\n<p>Hier haben wir ebenfalls ein <b>ListView<\/b>-Steuerelement namens <b>ctlListView <\/b>hinzugef&uuml;gt.<\/p>\n<p>Wir f&uuml;hren ebenfalls beim Laden des Formulars eine Ereignisprozedur aus (siehe Listing 1). Diese deklariert neben dem <b>ListView<\/b>-Objekt noch ein Objekt mit dem Typ <b>ListItem<\/b>.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Dim <\/span>objListView<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListView\r\n     <span style=\"color:blue;\">Dim <\/span>objListItem<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListItem\r\n     <span style=\"color:blue;\">Set<\/span> objListView = Me.ctlListView.Object\r\n     \r\n     <span style=\"color:blue;\">With<\/span> objListView\r\n         .View = lvwReport\r\n         .LabelEdit = lvwManual\r\n         .BorderStyle = ccNone\r\n         .Appearance = ccFlat\r\n         \r\n         .ColumnHeaders.Add , \"c1\", \"Spalte 1\"\r\n         .ColumnHeaders.Add , \"c2\", \"Spalte 2\"\r\n         .ColumnHeaders.Add , \"c3\", \"Spalte 3\"\r\n         \r\n         <span style=\"color:blue;\">Set<\/span> objListItem = .ListItems.Add(, \"a11\", \"Text 1 Spalte 1\")\r\n         objListItem.ListSubItems.Add , \"a12\", \"Text 1 Spalte 2\"\r\n         objListItem.ListSubItems.Add , \"a13\", \"Text 1 Spalte 3\"\r\n         <span style=\"color:blue;\">Set<\/span> objListItem = .ListItems.Add(, \"a21\", \"Text 2 Spalte 1\")\r\n         objListItem.ListSubItems.Add , \"ab22\", \"Text 2 Spalte 2\"\r\n         objListItem.ListSubItems.Add , \"ab23\", \"Text 2 Spalte 3\"\r\n         <span style=\"color:blue;\">Set<\/span> objListItem = .ListItems.Add(, \"a31\", \"Text 3 Spalte 1\")\r\n         objListItem.ListSubItems.Add , \"ab32\", \"Text 3 Spalte 2\"\r\n         objListItem.ListSubItems.Add , \"ab33\", \"Text 3 Spalte 3\"\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: F&uuml;llen eines ListView-Steuerelements mit mehreren Spalten<\/span><\/b><\/p>\n<p>Das ist n&ouml;tig, weil wir zum Anzeigen weiterer Spalten neben der ersten Spalte nicht einfach die <b>Add<\/b>-Methode des <b>ListView<\/b>-Objekts nutzen k&ouml;nnen. Stattdessen nutzen wir das Objekt, das wir mit dieser <b>Add<\/b>-Methode erstellen und das wir mit der Variablen <b>objListItem <\/b>referenzieren. Dieses bietet seinerseits eine Auflistung namens <b>ListSubItems <\/b>mit einer <b>Add<\/b>-Methode an, die allerdings etwas andere Parameter bietet. Die beiden Parameter <b>Icon <\/b>und <b>SmallIcon <\/b>fallen weg, daf&uuml;r gibt es den Parameter <b>ReportIcon<\/b>. Dieser ist aber funktional mit dem Parameter <b>SmallIcon <\/b>identisch.<\/p>\n<p>Damit in der Ansicht <b>lvwDetail <\/b>&uuml;berhaupt Eintr&auml;ge angezeigt werden, m&uuml;ssen wir die Spalten definieren. Das erledigen wir mit der <b>Add<\/b>-Methode der Auflistung <b>Columnheaders <\/b>des <b>ListView<\/b>-Objekts.<\/p>\n<p>Dieser &uuml;bergeben wir nach Wunsch mit dem ersten Parameter einen Index, an dem die neue Spalte angelegt werden soll, mit dem zweiten den Key, also einen eindeutigen Wert, der mit einem Buchstaben beginnen muss und mit dem dritten die Beschriftung der Spalte. Hier legen wir beispielsweise drei Spalten an.<\/p>\n<p>Danach erstellen wir den ersten Eintrag, wobei wir mit der <b>Add<\/b>-Methode der <b>ListItems<\/b>-Auflistung aber erst die erste Spalte f&uuml;llen. Das Ergebnis der <b>Add<\/b>-Methode referenzieren wir mit der Variablen <b>objListItem<\/b>. Hier nutzen wir die oben bereits erw&auml;hnte <b>Add<\/b>-Methode der <b>ListSubItems<\/b>-Auflistung, um die Elemente der weiteren Spalten hinzuzuf&uuml;gen. Das Ergebnis sehen wir in Bild 9.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_008.png\" alt=\"ListView-Steuerelements mit mehreren Spalten\" width=\"499,5589\" height=\"275,6948\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: ListView-Steuerelements mit mehreren Spalten<\/span><\/b><\/p>\n<h2>ListView-Steuerelement mit Icons f&uuml;llen<\/h2>\n<p>Im n&auml;chsten Beispiel sehen wir uns an, wie wir ein <b>ListView<\/b>-Steuerelement mit Bildern oder Icons f&uuml;llen k&ouml;nnen.  Hier ben&ouml;tigen wir zus&auml;tzlich zum <b>ListView<\/b>-Steuerelement noch ein <b>ImageList<\/b>-Steuerelement, das als Container f&uuml;r die zu verwendenden Icons dient. Dieses f&uuml;gen wir auf die gleiche Weise hinzu wie das <b>ListView<\/b>-Steuerelement. Das Formular sieht in der Entwurfsansicht nun wie in Bild 10 aus. Um das Aussehen des <b>ImageList<\/b>-Steuerelements brauchen wir uns keine Gedanken zu machen, da es in der Formularansicht ohnehin ausgeblendet wird.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_010.png\" alt=\"ListView-Steuerelement und ImageList-Steuerelement in einem Formular\" width=\"499,5589\" height=\"307,2601\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: ListView-Steuerelement und ImageList-Steuerelement in einem Formular<\/span><\/b><\/p>\n<p>Um dem ImageList-Steuerelement Icons hinzuzuf&uuml;gen, w&auml;hlen wir aus seinem Kontextmen&uuml; den Eintrag <b>ImageListCtrl|Properties <\/b>aus und erhalten den Dialog aus Bild 11. Hier legen wir die Gr&ouml;&szlig;e f&uuml;r die zu entnehmenden Bilder fest, in diesem Fall 32 x 32 Pixel.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_011.png\" alt=\"Eigenschaften des ImageList-Steuerelements\" width=\"424,5589\" height=\"325,6015\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Eigenschaften des ImageList-Steuerelements<\/span><\/b><\/p>\n<p>Dann wechseln wir zur zweiten Registerseite dieses Steuerelements. Hier k&ouml;nnen wir mit der Schaltfl&auml;che <b>Insert Picture&#8230; <\/b>einen Dateiauswahldialog &ouml;ffnen, mit dem wir die einzuf&uuml;genden Dateien ausw&auml;hlen.<\/p>\n<p>Hier k&ouml;nnen wir alle g&auml;ngigen Bildformate mit Ausnahme von <b>PNG <\/b>ausw&auml;hlen. Au&szlig;erdem k&ouml;nnen wir auch mehrere Bilder gleichzeitig selektieren.<\/p>\n<p>Nach der Auswahl dieser Bilder zeigt der Dialog sie wie in Bild 12 an. Damit wir die Bilder einfacher identifizieren k&ouml;nnen, weisen wir jedem Bild noch einen Wert f&uuml;r die Eigenschaft <b>Key <\/b>zu, zum Beispiel den Dateinamen ohne Dateiendung.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_012.png\" alt=\"Weitere Eigenschaften des ImageList-Steuerelements\" width=\"424,5589\" height=\"325,6015\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Weitere Eigenschaften des ImageList-Steuerelements<\/span><\/b><\/p>\n<p>Nun wollen wir diese Bilder nutzen, um das <b>ListView<\/b>-Steuerelement in diesem Formular damit zu f&uuml;llen. Dazu nutzen wir wieder die <b>Form_Load<\/b>-Ereignisprozedur:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Dim <\/span>objIcons<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListView\r\n     <span style=\"color:blue;\">Dim <\/span>objImageList<span style=\"color:blue;\"> As <\/span>MSComctlLib.ImageList\r\n     <span style=\"color:blue;\">Dim <\/span>objListImage<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListImage\r\n     <span style=\"color:blue;\">Set<\/span> objIcons = Me.lvwIcons.Object\r\n     <span style=\"color:blue;\">Set<\/span> objImageList = Me.ctlImageList.Object\r\n     <span style=\"color:blue;\">With<\/span> objIcons\r\n         .View = lvwIcon\r\n         .Appearance = ccFlat\r\n         .BorderStyle = ccNone\r\n         \r\n         <span style=\"color:blue;\">Set<\/span> .Icons = objImageList\r\n         \r\n         For Each objListImage In objImageList.ListImages\r\n             .ListItems.Add , \"a\" & objListImage.Index, _\r\n                 objListImage.Key, objListImage.Key\r\n         <span style=\"color:blue;\">Next<\/span> objListImage\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Hier deklarieren wir Variablen f&uuml;r das <b>ListView<\/b>&#8211; und das <b>ImageList<\/b>-Steuerelement und au&szlig;erdem eine Variable des Typs <b>ListImage<\/b>. Die ersten beiden f&uuml;llen wir direkt mit den Verweisen auf die <b>Object<\/b>-Eigenschaft der jeweiligen Steuerelemente.<\/p>\n<p>Dann passen wir die Eigenschaften des <b>ListView<\/b>-Steuerelements wie zuvor an, verwenden aber diesmal die Ansicht <b>lvwIcon<\/b>.<\/p>\n<p>Damit das <b>ListView<\/b>-Steuerelement wei&szlig;, aus welcher Quelle die anzuzeigenden Icons stammen, weisen wir der Eigenschaft <b>Icons <\/b>das <b>ImageList<\/b>-Objekt zu.<\/p>\n<p>Wichtig ist, dass die zuwiesene Referenz auf die <b>Object<\/b>-Eigenschaft des <b>ImageList<\/b>-Steuerelements und nicht auf das Steuerelement selbst verweist.<\/p>\n<p>Nun behelfen wir uns einer kleinen Schleife &uuml;ber alle im <b>ImageList<\/b>-Steuerelement enthaltenen Icons, um nicht alle in einzelnen Anweisungen hinzuzuf&uuml;gen. In der Schleife durchlaufen wir alle Elemente der Auflistung <b>ListImages <\/b>und referenzieren das aktuelle Element jeweils mit der Variablen <b>objListImage<\/b>.<\/p>\n<p>Innerhalb der Schleife weisen wir dem <b>ListView<\/b>-Steuerelement mit der <b>Add<\/b>-Methode der <b>ListItems<\/b>-Auflistung jeweils einen neuen Eintrag zu.<\/p>\n<p>Dabei &uuml;bergeben wir als <b>Key <\/b>den Buchstaben <b>a <\/b>mit dem jeweiligen <b>Index<\/b>-Wert von <b>objListImage<\/b>. Als Text &uuml;bergeben wir den Wert der Eigenschaft <b>key <\/b>des Eintrags, also den Wert, den wir im Eigenschaften-Dialog f&uuml;r die einzelnen Bilder hinterlegt haben. Und schlie&szlig;lich legen wir f&uuml;r die Eigenschaft <b>Icon <\/b>den Key des Icons aus dem <b>ImageList<\/b>-Steuerelement fest.<\/p>\n<p>Wichtig sind an dieser Stelle zwei Dinge im Vergleich zu den &uuml;brigen Ansichten: In der Ansicht <b>lvwIcon <\/b>m&uuml;ssen wir die ImageList der Eigenschaft <b>Icons <\/b>zuweisen. Bei den anderen Ansichten weisen wir diese der Eigenschaft <b>SmallIcons <\/b>zu. Und beim Zuweisen der Icons zu den Eintr&auml;gen verwenden wir analog den Parameter <b>Icon<\/b>, w&auml;hrend wir bei den anderen Eigenschaften den Parameter <b>SmallIcon <\/b>nutzen.<\/p>\n<p>Das Ergebnis sehen wir in Bild 13.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_013.png\" alt=\"Icons im ListView-Steuerelement\" width=\"424,5589\" height=\"230,4188\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: Icons im ListView-Steuerelement<\/span><\/b><\/p>\n<p>Hier k&ouml;nnen wir die Eigenschaft <b>Arrange <\/b>nutzen, um die Icons von oben nach unten oder von links nach rechts zu f&uuml;llen.<\/p>\n<h2>Icons in mehrspaltigen ListView-Steuerelementen<\/h2>\n<p>Weiter oben haben wir bereits ein mehrspaltiges <b>ListView<\/b>-Steuerelement erstellt. Diesem wollen wir nun Icons hinzuf&uuml;gen. Dazu legen wir wieder ein <b>ImageList<\/b>-Steuerelement im Formular an, diesmal in <b>frmListView_Mehrspaltig_Icons<\/b>. Die Icons sollen diesmal nicht 32 x 32 Pixel gro&szlig; sein, sondern 16 x 16 Pixel. Diese Einstellungen m&uuml;ssen wir vor dem Einf&uuml;gen der Icons vornehmen.<\/p>\n<p>Danach f&uuml;gen wir die <b>Form_Load<\/b>-Prozedur wie in Listing 2 hinzu. Hier deklarieren wir die notwendigen Variablen und weisen diesen die <b>Object<\/b>-Eigenschaft des <b>ListView<\/b>&#8211; und des <b>ImageList<\/b>-Steuerelements zu.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Dim <\/span>objIcons<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListView\r\n     <span style=\"color:blue;\">Dim <\/span>objListItem<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListItem\r\n     <span style=\"color:blue;\">Dim <\/span>objImageList<span style=\"color:blue;\"> As <\/span>MSComctlLib.ImageList\r\n     <span style=\"color:blue;\">Dim <\/span>objListImage<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListImage\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> objIcons = Me.lvwIcons.Object\r\n     <span style=\"color:blue;\">Set<\/span> objImageList = Me.ctlImageList.Object\r\n     <span style=\"color:blue;\">With<\/span> objIcons\r\n         .View = lvwReport\r\n         .Appearance = ccFlat\r\n         .BorderStyle = ccNone\r\n         \r\n         <span style=\"color:blue;\">Set<\/span> .SmallIcons = objImageList\r\n         \r\n         .ColumnHeaders.Add , \"c1\", \"Text mit Icon\"\r\n         .ColumnHeaders.Add , \"c2\", \"Text ohne Icon\"\r\n         \r\n         For Each objListImage In objImageList.ListImages\r\n             <span style=\"color:blue;\">Set<\/span> objListItem = .ListItems.Add(, \"a\" & objListImage.Index, objListImage.Key, , objListImage.Key)\r\n             objListItem.ListSubItems.Add , \"b\" & objListImage.Index, objListImage.Key\r\n         <span style=\"color:blue;\">Next<\/span> objListImage\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: F&uuml;llen eines ListView-Steuerelements mit mehreren Spalten und Icons<\/span><\/b><\/p>\n<p>Dann stellen wir die Eigenschaften wie &uuml;blich ein und legen diesmal die Eigenschaft <b>SmallIcons <\/b>statt <b>Icons <\/b>auf die <b>ImageList<\/b>-Variable fest. Au&szlig;erdem f&uuml;gen wir zwei Spalten hinzu. Die erste soll das Icon und den Namen des Icons anzeigen, die zweite nur den Namen des Icons (das ist wenig einfallsreich, aber zu Beispielzwecken ausreichend).<\/p>\n<p>Schlie&szlig;lich durchlaufen wir wieder die <b>ListImages<\/b>-Auflistung des <b>ImageList<\/b>-Steuerelements und f&uuml;gen f&uuml;r jedes Element einen neuen Eintrag zum <b>ListView<\/b>-Steuerelement hinzu.<\/p>\n<p>Dabei legen wir das Hauptelement wieder so an, dass es durch die Variable <b>objListItem <\/b>referenziert wird. Au&szlig;erdem &uuml;bergeben wir f&uuml;r den Parameter <b>SmallIcon <\/b>den Namen des einzuf&uuml;genden Icons.<\/p>\n<p>F&uuml;r das erste Unterelement, als den Wert f&uuml;r die zweite Spalte, &uuml;bergeben wir nochmals den Namen des Icons.<\/p>\n<p>Das Ergebnis sehen wir in Bild 14. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1572_014.png\" alt=\"ListView-Steuerelement mit mehrspaltigen Eintr&auml;gen und Icons\" width=\"424,5589\" height=\"233,7571\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 14: ListView-Steuerelement mit mehrspaltigen Eintr&auml;gen und Icons<\/span><\/b><\/p>\n<h2>Weitere Eigenschaften des ListView-Steuerelements<\/h2>\n<p>Weiter oben haben wir bereits alle Eigenschaften beschrieben, die wir &uuml;ber die Benutzeroberfl&auml;che einstellen k&ouml;nnen. Es gibt jedoch noch weitere Eigenschaften, die sich nur per VBA steuern lassen:<\/p>\n<ul>\n<li><b>BackColor<\/b>: Hintergrundfarbe des gesamten ListView-Steuerelements<\/li>\n<li><b>BorderStyle<\/b>: Rahmenart des Steuerelements. <b>FixedSingle <\/b>zeigt einen einfachen Rahmen, <b>None <\/b>blendet den Rahmen aus.<\/li>\n<li><b>ColumnHeaderIcons<\/b>: <b>ImageList<\/b>-Steuerelement, das Symbole f&uuml;r Spalten&uuml;berschriften enth&auml;lt. Wird in Verbindung mit der <b>ColumnHeaders<\/b>-Auflistung genutzt.<\/li>\n<li><b>ColumnHeaders<\/b>: Auflistung aller Spalten&uuml;berschriften. Nur relevant in der Ansicht <b>lvwReport<\/b>. &Uuml;ber die <b>Add<\/b>-Methode werden einzelne Spalten definiert.<\/li>\n<li><b>DropHighlight<\/b>: Gibt das aktuell als Drop-Ziel markierte <b>ListItem<\/b>-Objekt zur&uuml;ck oder legt dieses fest. Wird bei Drag und Drop-Vorg&auml;ngen verwendet.<\/li>\n<li><b>Font<\/b>: Schriftart, Schriftgr&ouml;&szlig;e und -stil f&uuml;r alle Eintr&auml;ge im ListView. &Auml;nderungen wirken global auf alle Elemente.<\/li>\n<li><b>ForeColor<\/b>: Schriftfarbe der Eintr&auml;ge. Einzelne <b>ListItems <\/b>k&ouml;nnen abweichende Farben &uuml;ber deren <b>ForeColor<\/b>-Eigenschaft erhalten.<\/li>\n<li><b>hWnd<\/b>: Fensterhandle des Steuerelements. Wird f&uuml;r API-Aufrufe oder zur direkten Fenstersteuerung verwendet.<\/li>\n<li><b>Icons<\/b>: Referenz auf das <b>ImageList<\/b>-Steuerelement mit gro&szlig;en Symbolen. Wird in der <b>lvwIcon<\/b>-Ansicht verwendet.<\/li>\n<li><b>ListItems<\/b>: Auflistung aller <b>ListItem<\/b>-Objekte (Haupteintr&auml;ge des ListViews). Neue Eintr&auml;ge werden &uuml;ber die <b>Add<\/b>-Methode hinzugef&uuml;gt.<\/li>\n<li><b>Picture<\/b>: Hintergrundbild, das im Steuerelement angezeigt wird.<\/li>\n<li><b>PictureAlignment<\/b>: Legt fest, wie das Hintergrundbild angezeigt wird &#8211; zentriert, gekachelt oder gestreckt.<\/li>\n<li><b>SelectedItem<\/b>: Gibt das aktuell ausgew&auml;hlte <b>ListItem<\/b>-Objekt zur&uuml;ck oder legt dieses fest. Wenn kein Eintrag markiert ist, liefert es <b>Nothing<\/b>.<\/li>\n<li><b>SmallIcons<\/b>: Referenz auf das <b>ImageList<\/b>-Steuerelement mit kleinen Symbolen. Wird in den Ansichten <b>lvwReport<\/b>, <b>lvwList <\/b>und <b>lvwSmallIcon <\/b>verwendet.<\/li>\n<li><b>Sorted<\/b>: Gibt an, ob die Eintr&auml;ge in der <b>ListItems<\/b>-Auflistung automatisch sortiert werden. Die Sortierung erfolgt nach den Eigenschaften <b>SortKey <\/b>und <b>SortOrder<\/b><\/li>\n<li><b>SortKey<\/b>: Index der Spalte, nach der sortiert wird. <b>0 <\/b>entspricht der ersten Spalte, <b>1 <\/b>dem ersten SubItem und so weiter<\/li>\n<li><b>SortOrder<\/b>: Sortierrichtung. <b>lvwAscending <\/b>sortiert aufsteigend, <b>lvwDescending <\/b>absteigend. Nur wirksam, wenn <b>Sorted = True <\/b>gesetzt ist.<\/li>\n<\/ul>\n<h2>Ereignisse und Methoden des ListView-Elements<\/h2>\n<p>Das ListView-Steuerelement enth&auml;lt logischerweise auch einige Ereignisse und Methoden, um dieses zu steuern und auf die Benutzeraktionen zu reagieren. Diese schauen wir uns in einem weiteren Beitrag namens <b>ListView-Steuerelement mit VBA programmieren <\/b>(<b>www.access-im-unternehmen.de\/1572<\/b>) an.<\/p>\n<h2>Eigenschaften des ListItem-Elements<\/h2>\n<p>Bisher haben wir die <b>ListItem<\/b>-Element immer nur &uuml;ber die <b>Add<\/b>-Methode hinzugef&uuml;gt und dabei nur die notwendigsten Eigenschaften per Parameter gesetzt. Nun schauen wir uns eine &Uuml;bersicht aller Eigenschaften dieses Elements an:<\/p>\n<ul>\n<li><b>Bold<\/b>:&nbsp;&nbsp;&nbsp;&nbsp;Legt fest, ob der Text fett dargestellt wird.<\/li>\n<li><b>Checked<\/b>:  Gibt an, ob das Kontrollk&auml;stchen (sofern f&uuml;r das <b>ListView<\/b>-Steuerelement aktiviert) neben dem Element aktiviert ist oder stellt dies ein.<\/li>\n<li><b>DropHighlight<\/b>: Markiert das Element als Drop-Ziel, wenn ein Drag and Drop-Vorgang stattfindet.<\/li>\n<li><b>EnsureVisible<\/b>: Methode, die das <b>ListView<\/b>-Steuerelement so scrollt, dass das Element, f&uuml;r das diese Methode aufgerufen wurde, sichtbar wird.<\/li>\n<li><b>ForeColor<\/b>: Farbe des Textes.<\/li>\n<li><b>Ghosted<\/b>: Stellt den Text ausgegraut dar.<\/li>\n<li><b>Icon<\/b>:  Index oder Key des Icons aus dem f&uuml;r <b>Icon <\/b>zugewiesenen <b>ImageList<\/b>-Steuerelement. Wird in der <b>lvwIcon<\/b>-Ansicht verwendet.<\/li>\n<li><b>Indentation<\/b>: Gibt an, wie weit der Text einger&uuml;ckt wird (nur in der Ansicht <b>lvwReport<\/b>).<\/li>\n<li><b>Index<\/b>: Position des Elements in der Auflistung (1-basiert). Wird automatisch vergeben, wenn wir ein Element mit der <b>Add<\/b>-Methode hinzuf&uuml;gen und keinen Index als Parameter angeben.<\/li>\n<li><b>Key<\/b>:  Eindeutiger Name, unter dem das Element in der <b>ListItems<\/b>-Auflistung referenziert werden kann.<\/li>\n<li><b>ListView<\/b>:  Verweis auf das <b>ListView<\/b>-Steuerelement, zu dem dieses Element geh&ouml;rt.<\/li>\n<li><b>ListSubItems<\/b>:&nbsp;&nbsp;&nbsp;&nbsp;Auflistung, die alle Unterelemente (weitere Spalten) dieses Elements in der Ansicht lvwReport enth&auml;lt.<\/li>\n<li><b>Selected<\/b>: Gibt an, ob das Element ausgew&auml;hlt ist oder w&auml;hlt dieses aus, wenn der Wert <b>True <\/b>zugewiesen wird.<\/li>\n<li><b>SmallIcon<\/b>:  Index oder Key des Icons aus dem f&uuml;r <b>SmallIcon <\/b>zugewiesenen <b>ImageList<\/b>-Objekt. Wird in den Ansichten <b>lvwReport<\/b>, <b>lvwList <\/b>und <b>lvwSmallIcon <\/b>angezeigt.<\/li>\n<li><b>Tag<\/b>:  Freies Feld zum Speichern beliebiger Zusatzinformationen.<\/li>\n<li><b>Text<\/b>: Text, der in der ersten Spalte des Elements angezeigt wird.<\/li>\n<li><b>ToolTipText<\/b>: Text, der als Tooltip angezeigt wird, wenn der Benutzer mit der Maus &uuml;ber das Element f&auml;hrt.<\/li>\n<\/ul>\n<h2>Methoden des ListItem-Elements<\/h2>\n<p>Auch das ListItem-Element hat zwei Methoden &#8211; auch diese schauen wir uns im Beitrag <b>ListView-Steuerelement mit VBA programmieren <\/b>(<b>www.access-im-unternehmen.de\/1572<\/b>) an.<\/p>\n<h2>Eigenschaften des SubListItem-Elements<\/h2>\n<p>Auch f&uuml;r <b>SublListItem<\/b>-Elemente, also die Elemente, die f&uuml;r die Anzeige von Daten in der zweiten und jeder weiteren Spalte verwendet werden, gibt es einige Eigenschaften. Einige der Eigenschaften, die das <b>ListItem<\/b>-Element aufweist, gibt es hier nicht, da diese sich auch auf die Anzeige der <b>SubListItem<\/b>-Elemente auswirken. Es gibt lediglich eine neue Eigenschaft, n&auml;mlich <b>ReportIcon<\/b>. Diese verwenden wir statt der Eigenschaft <b>SmallIcon<\/b>, wenn wir f&uuml;r die Elemente in den folgenden Spalten ebenfalls Icons anzeigen wollen.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Dieser Beitrag liefert die grundlegenden Techniken rund um den Einsatz des <b>ListView<\/b>-Steurerelements.<\/p>\n<p>Wir haben gezeigt, wie das Steuerelement angelegt wird, wie wir es mit VBA referenzieren und wie wir verschiedene Ansichten wie zum Beispiel <b>lvwIcon <\/b>oder <b>lvwDetail <\/b>mit Daten f&uuml;llen.<\/p>\n<p>Im n&auml;chsten Beitrag namens <b>ListView-Steuerelement mit VBA programmieren <\/b>(<b>www.access-im-unternehmen.de\/1572<\/b>) zeigen wir weitere Techniken zur Programmierung des <b>ListView<\/b>-Steuerelements mit VBA.<\/p>\n<p>Au&szlig;erdem zeigen wir unter dem Titel <b>ListView-Steuerelement aus Tabellen und Abfragen f&uuml;llen <\/b>(<b>www.access-im-unternehmen.de1574<\/b> wie wir das ListView-Steuerelement mit realen Daten f&uuml;llen &#8211; also mit solchen aus Tabellen oder Abfragen. Hier zeigen wir auch, wie sich neue Eintr&auml;ge hinzuf&uuml;gen und bestehende Eintr&auml;ge bearbeiten oder l&ouml;schen lassen.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>ListenAnzeigenMitDemListViewSteuerelement.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/8FC25AE3-2288-4BA7-B3B4-CA3E72A8E742\/aiu_1572.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Datenblatt-Ansicht und das Listenfeld sind die bevorzugten Bordmitteln, um Daten in Access in Listenform anzuzeigen. Beide haben Vor- und Nachteile. Doch es gibt auch noch das ListView-Steuerelement, das als ActiveX-Control kommt und mit dem sich viele unterschiedlichen Ansichten realisieren lassen. In diesem Beitrag schauen wir uns an, wie wir Listen mit dem ListView-Steuerelement abbilden k&ouml;nnen &#8211; inklusive Funktionen wie Kontrollk&auml;stchen, Icons, Umbenennen und vielen mehr. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662025,66062025,44000044],"tags":[],"class_list":["post-55001572","post","type-post","status-publish","format-standard","hentry","category-662025","category-66062025","category-AccessSteuerelemente"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Listen anzeigen mit dem ListView-Steuerelement - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Listen anzeigen mit dem ListView-Steuerelement\" \/>\n<meta property=\"og:description\" content=\"Die Datenblatt-Ansicht und das Listenfeld sind die bevorzugten Bordmitteln, um Daten in Access in Listenform anzuzeigen. Beide haben Vor- und Nachteile. Doch es gibt auch noch das ListView-Steuerelement, das als ActiveX-Control kommt und mit dem sich viele unterschiedlichen Ansichten realisieren lassen. In diesem Beitrag schauen wir uns an, wie wir Listen mit dem ListView-Steuerelement abbilden k&ouml;nnen - inklusive Funktionen wie Kontrollk&auml;stchen, Icons, Umbenennen und vielen mehr.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T21:35:46+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"20\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Listen anzeigen mit dem ListView-Steuerelement\",\"datePublished\":\"2025-12-02T21:35:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/\"},\"wordCount\":3807,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"articleSection\":[\"2025\",\"6\\\/2025\",\"Access-Steuerelemente\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/\",\"name\":\"Listen anzeigen mit dem ListView-Steuerelement - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2025-12-02T21:35:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Listen_anzeigen_mit_dem_ListViewSteuerelement\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Listen anzeigen mit dem ListView-Steuerelement\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Listen anzeigen mit dem ListView-Steuerelement - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/","og_locale":"de_DE","og_type":"article","og_title":"Listen anzeigen mit dem ListView-Steuerelement","og_description":"Die Datenblatt-Ansicht und das Listenfeld sind die bevorzugten Bordmitteln, um Daten in Access in Listenform anzuzeigen. Beide haben Vor- und Nachteile. Doch es gibt auch noch das ListView-Steuerelement, das als ActiveX-Control kommt und mit dem sich viele unterschiedlichen Ansichten realisieren lassen. In diesem Beitrag schauen wir uns an, wie wir Listen mit dem ListView-Steuerelement abbilden k&ouml;nnen - inklusive Funktionen wie Kontrollk&auml;stchen, Icons, Umbenennen und vielen mehr.","og_url":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/","og_site_name":"Access im Unternehmen","article_published_time":"2025-12-02T21:35:46+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"20\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Listen anzeigen mit dem ListView-Steuerelement","datePublished":"2025-12-02T21:35:46+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/"},"wordCount":3807,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"articleSection":["2025","6\/2025","Access-Steuerelemente"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/","url":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/","name":"Listen anzeigen mit dem ListView-Steuerelement - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2025-12-02T21:35:46+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Listen_anzeigen_mit_dem_ListViewSteuerelement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Listen anzeigen mit dem ListView-Steuerelement"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001572"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001572\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}