{"id":55001577,"date":"2025-12-01T00:00:00","date_gmt":"2025-12-02T21:35:00","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1577"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Icons_per_ImageList_und_VBA_im_ListViewControl","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/","title":{"rendered":"Icons per ImageList und VBA im ListView-Control"},"content":{"rendered":"<p><b>Wer einmal mit dem ListView-Steuerelement gearbeitet hat und diesem Icons hinzuf&uuml;gen wollte, hat diese &uuml;blicherweise erst umst&auml;ndlich ins ImageList-Steuerelement eingef&uuml;gt, um diese dann im ListView-Steuerelement anzeigen zu k&ouml;nnen. Dabei bietet Microsoft Access seit langem die M&ouml;glichkeit, Icons komfortabel in einer Tabelle namens MSysResources zu speichern. Die Icons lassen sich einfach durch Auswahl &uuml;ber die Eigenschaft Bild zu Bild-Steuerelementen oder Schaltfl&auml;chen hinzuf&uuml;gen. In diesem Beitrag zeigen wir, wie wir die Bilder aus der Tabelle MSysResources einfach zu einem ImageList-Steuerelement addieren k&ouml;nnen, um diese dann im ListView-Steuerelement zu den einzelnen Eintr&auml;gen hinzuzuf&uuml;gen.<\/b><\/p>\n<h2>Formular vorbereiten<\/h2>\n<p>Die ersten Schritte, um Icons in einem <b>ListView<\/b>-Steuerelement anzeigen zu k&ouml;nnen, sind das Hinzuf&uuml;gen eines <b>ImageList<\/b>&#8211; und eines <b>ListView<\/b>-Steuerelements zum Formular. Diese nennen wir in diesem Beispiel <b>ctlImageList <\/b>und <b>ctlListView<\/b>.<\/p>\n<h2>Icons hinzuf&uuml;gen auf die unkomfortable Art<\/h2>\n<p>Die eingangs beschriebene Technik ist f&uuml;r Einsteiger einfach zu realisieren. Wir &ouml;ffnen die Eigenschaften des <b>ImageList<\/b>-Steuerelements, stellen dort die Gr&ouml;&szlig;e f&uuml;r die hinzuzuf&uuml;genden Icons ein und f&uuml;gen dann auf der Seite Images die gew&uuml;nschten Icons ein &#8211; nebst der Angabe der Eigenschaft <b>Key<\/b>, damit wir diese referenzieren k&ouml;nnen (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1577_001.png\" alt=\"Herk&ouml;mmliches Hinzuf&uuml;gen von Icons zum ImageList-Control\" width=\"424,5589\" height=\"325,6015\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Herk&ouml;mmliches Hinzuf&uuml;gen von Icons zum ImageList-Control<\/span><\/b><\/p>\n<p>Beim Hinzuf&uuml;gen sehen wir bereits den ersten Nachteil: Wir k&ouml;nnen hier zwar viele verschiedene Dateiformate verwenden, aber zum Beispiel <b>PNG <\/b>ist nicht darunter.<\/p>\n<p>Und da viele Icons-Sammlungen ihre Icons in diesem Format liefern, ist das nicht besonders praktisch. Gut, dass unsere L&ouml;sung aus diesem Beitrag dies umgeht!<\/p>\n<p>Der zweite Nachteil ist, dass wir immer, wenn wir einmal ein neues Icon hinzuf&uuml;gen wollen, das Formular in der Entwurfsansicht &ouml;ffnen und die oben beschriebenen Schritte durchf&uuml;hren m&uuml;ssen. Also schauen wir uns einen alternativen, einfacheren Weg an.<\/p>\n<h2>Icons zur Tabelle MSysResources hinzuf&uuml;gen<\/h2>\n<p>Dieser sieht so aus, dass wir die Icons einfach zur Tabelle <b>MSysResources <\/b>hinzuf&uuml;gen. Diese Tabelle nimmt alle Icons auf, die wir zum Beispiel &uuml;ber den Formularentwurf einer Schaltfl&auml;che oder einem Bild-Steuerelement hinzuf&uuml;gen. <\/p>\n<p>Hinweis: Um die Systemtabelle <b>MSysResources <\/b>zu sehen, m&uuml;ssen wir die Systemobjekte &uuml;ber die Optionen des Navigationsbereichs einblenden.<\/p>\n<p>Dazu klicken wir im einfachsten Fall im Formularentwurf auf den Ribbon-Eintrag <b>Formularentwurf|Steuerelemente|Bild einf&uuml;gen <\/b>und dann auf <b>Durchsuchen<\/b>. Hier w&auml;hlen wir das gew&uuml;nschte Icon aus und f&uuml;gen es so hinzu.<\/p>\n<p>Auch ohne das anschlie&szlig;ende Einf&uuml;gen des Bildes im Formularentwurf landet die Bilddatei in der Tabelle <b>MSysResources<\/b>. Die Bilddatei finden wir dort wie in Bild 2 in einem neuen Datensatz vor.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1577_002.png\" alt=\"Die Tabelle MSysResources mit einer Icon-Datei\" width=\"549,559\" height=\"181,3762\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Die Tabelle MSysResources mit einer Icon-Datei<\/span><\/b><\/p>\n<p>Auf diese Weise f&uuml;gen wir noch einige weitere Icons zur Tabelle <b>MSysResources <\/b>hinzu. Allerdings stellen wir hier fest, dass es etwas m&uuml;hselig ist, jedes Icon einzeln hinzuzuf&uuml;gen. Allerdings haben wir im Beitrag <b>Icons in der Datenbank verwalten <\/b>(<b>www.access-im-unternehmen.de\/1564<\/b>) bereits eine L&ouml;sung zu diesem Problem ver&ouml;ffentlicht.<\/p>\n<p>Damit lassen sich leicht mehrere Icons auf einen Rutsch zur Tabelle <b>MSysResources <\/b>hinzuf&uuml;gen.<\/p>\n<h2>Icon aus MSysResources zum ImageList-Control hinzuf&uuml;gen<\/h2>\n<p>Nun stellt sich jedoch die Frage, wie wir dieses Icon in das <b>ImageList<\/b>-Steuerelement bekommen, damit wir es im <b>ListView<\/b>-Steuerelement anzeigen k&ouml;nnen.<\/p>\n<p>Die entscheidende Vorarbeit dazu haben wir bereits im Beitrag <b>Icons in Ribbon, Kontextmen&uuml;, Formular und TreeView <\/b>(<b>www.access-im-unternehmen.de\/1557<\/b>) geleistet. Dort haben wir Funktionen definiert, mit denen wir einfach Bilder aus der Tabelle <b>MSysResources <\/b>in ein <b>ImageList<\/b>-Steuerelement einf&uuml;gen k&ouml;nnen.<\/p>\n<p>Aus der Beispieldatenbank zu diesem Beitrag haben wir die folgenden Objekte in die aktuelle Beispieldatenbank importiert:<\/p>\n<ul>\n<li><b>MDL_AMV_API<\/b><\/li>\n<li><b>MDL_AMV_Pictures<\/b><\/li>\n<\/ul>\n<p>Aus letzterem Modul kommentieren wir noch die Funktion <b>amvFileToResources<\/b> aus, da sich diese in einem anderen Modul befindet &#8211; beide ben&ouml;tigen wir hier nicht.<\/p>\n<p>Damit starten wir in die Programmierung. Wir ben&ouml;tigen zun&auml;chst eine Prozedur, die beim Laden des Formulars ge&ouml;ffnet wird und die Eigenschaften des <b>ListView<\/b>-Steuerelements einstellt sowie weitere Aktionen durchf&uuml;hrt. Diese finden wir in Listing 1.<\/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>objImageList<span style=\"color:blue;\"> As <\/span>MSComctlLib.ImageList\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> objListView = Me.ctlListView.Object\r\n     <span style=\"color:blue;\">Set<\/span> objImageList = Me.ctlImageList.Object\r\n     \r\n     objImageList.ImageHeight = 16\r\n     objImageList.ImageWidth = 16\r\n     <span style=\"color:blue;\">Call<\/span> ImageListFuellen\r\n     \r\n     <span style=\"color:blue;\">With<\/span> objListView\r\n         .Appearance = ccFlat\r\n         .BorderStyle = ccNone\r\n         .Font.Name = \"Calibri\"\r\n         .Font.Size = 11\r\n         .View = lvwReport\r\n         .SmallIcons = Me.ctlImageList.Object\r\n         .ColumnHeaders.Clear\r\n         .ColumnHeaders.Add , \"c1\", \"Icons\"\r\n     End <span style=\"color:blue;\">With<\/span>\r\n     \r\n     <span style=\"color:blue;\">Call<\/span> ImagesInListView\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Prozedur, die beim Laden des Formulars ausgef&uuml;hrt wird<\/span><\/b><\/p>\n<p>Sie deklariert Variablen f&uuml;r das <b>ListView<\/b>&#8211; und das <b>ImageList<\/b>-Steuerelement und f&uuml;llt diese mit Verweisen auf die jeweilige <b>Object<\/b>-Eigenschaft.<\/p>\n<p>Anschlie&szlig;end stellt sie die Gr&ouml;&szlig;e der enthaltenen Icons auf eine H&ouml;he und eine Breite von jeweils 16 Pixeln ein.<\/p>\n<p>Dann ruft sie die Prozedur <b>ImageListFuellen <\/b>auf, welche die Icons in das <b>ImageList<\/b>-Steuerelement einliest &#8211; diese sehen wir uns weiter unten an.<\/p>\n<p>Danach stellt sie die Eigenschaften des <b>ListView<\/b>-Steuerelements ein. Dazu geh&ouml;rt die flache Ansicht statt 3-D, das Entfernen des Rahmens, den wir durch den Rahmen des Steuerelements selbst im Formularentwurf ersetzen, die Einstellung der Schriftart und die Ansicht mit <b>lvwReport<\/b>.<\/p>\n<p>Damit das <b>ListView<\/b>-Steuerelement wei&szlig;, woher es seine Icons beziehen soll, weisen wir der Eigenschaft <b>SmallIcons <\/b>einen Verweis auf die <b>Object<\/b>-Eigenschaft des <b>ImageList<\/b>-Steuerelements zu.<\/p>\n<p>In der Ansicht <b>lvwReport <\/b>ist es wichtig, dass wir hier die Eigenschaft <b>SmallIcons <\/b>und nicht <b>Icons <\/b>verwenden. Wenn wir die Ansicht <b>lvwIcon <\/b>nutzen w&uuml;rden, k&auml;me hier die Eigenschaft <b>Icons <\/b>zum Einsatz.<\/p>\n<p>Danach entfernen wir alle eventuell noch vorhandenen Spalten&uuml;berschriften und f&uuml;gen eine neue Spalten&uuml;berschrift namens <b>Icons <\/b>hinzu.<\/p>\n<p>Schlie&szlig;lich rufen wir die Prozedur <b>ImagesInListView <\/b>auf, welche die eigentlichen Eintr&auml;ge inklusive der Icons zum <b>ListView<\/b>-Steuerelement hinzuf&uuml;gt (siehe Listing 2).<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>ImageListFuellen()\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n     <span style=\"color:blue;\">Dim <\/span>objImageList<span style=\"color:blue;\"> As <\/span>MSComctlLib.ImageList\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT * FROM MSysResources WHERE Extension = ''PNG''\", dbOpenSnapshot)\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> objImageList = Me.ctlImageList.Object\r\n     \r\n     objImageList.ListImages.Clear\r\n     \r\n     <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rst.EOF\r\n         <span style=\"color:blue;\">Call<\/span> amvAddIconToImageListFromResourcesByName(objImageList, rst!Name)\r\n         rst.Move<span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Loop<\/span>\r\n        \r\n     rst.Close\r\n     <span style=\"color:blue;\">Set<\/span> rst = Nothing\r\n     <span style=\"color:blue;\">Set<\/span> db = Nothing\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Prozedur zum Einlesen der Bilder aus der Tabelle MSysResources in das ImageList-Steuerelement.<\/span><\/b><\/p>\n<h2>F&uuml;llen des ImageList-Steuerelements<\/h2>\n<p>Die Prozedur <b>ImageListFuellen <\/b>dient dazu, die Icons aus der Tabelle <b>MSysResources <\/b>in das <b>ImageList<\/b>-Steuerelement einzulesen.<\/p>\n<p>Sie holt einen Verweis auf das aktuelle <b>Database<\/b>-Objekt und &ouml;ffnet ein Recordset auf Basis der Tabelle <b>MSysResources<\/b>, das nur die Elemente mit der Endung <b>.png <\/b>liefert.<\/p>\n<p>Dabei verwendet sie zum &Ouml;ffnen den Parameter <b>dbOpenSnapshot<\/b>, da wir nur lesend zugreifen wollen und dies performanter ist als <b>dbOpenDynaset<\/b>.<\/p>\n<p>Dann referenziert sie das <b>ImageList<\/b>-Steuerelement &uuml;ber die <b>Object<\/b>-Eigenschaft und leert als Erstes alle eventuell bereits enthaltenen Icons.<\/p>\n<p>Dann durchl&auml;uft sie das Recordset und ruft f&uuml;r jeden Datensatz einmalig die Prozedur <b>amvAddIconToImageListFromResourcesByName <\/b>auf. Dieser &uuml;bergibt sie einen Verweis auf das zu f&uuml;llende <b>ImageList<\/b>-Steuerelement sowie den Namen des Icons in der Tabelle <b>MSysResources<\/b>.<\/p>\n<p>Wie die Prozedur funktioniert, erl&auml;utern wir im Beitrag <b>Icons in Ribbon, Kontextmen&uuml;, Formular und TreeView <\/b>(<b>www.access-im-unternehmen.de\/1557<\/b>). Auf diese Weise werden alle Icons in das <b>ImageList<\/b>-Steuerelement eingelesen. Wenn wir uns davon &uuml;berzeugen wollen, dass dies funktioniert hat, k&ouml;nnen wir am Ende der Prozedur die folgenden Zeilen einf&uuml;gen:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objListImage<span style=\"color:blue;\"> As <\/span>MSComctlLib.ListImage\r\nFor Each objListImage In objImageList.ListImages\r\n     <span style=\"color:blue;\">Debug.Print<\/span> objListImage.Index, objListImage.Key\r\n<span style=\"color:blue;\">Next<\/span> objListImage<\/pre>\n<p>Dies gibt wie folgt die enthaltenen Eintr&auml;ge aus:<\/p>\n<pre>1        apple\r\n2        add\r\n3        data\r\n4        hamburger<\/pre>\n<h2>ListView-Eintr&auml;ge mit Icons hinzuf&uuml;gen<\/h2>\n<p>Schlie&szlig;lich f&uuml;gen wir in der Prozedur <b>ImagesInListView <\/b>die Icons samt dem Namen zum <b>ListView<\/b>-Steuerelement hinzu (siehe Listing 3).<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>ImagesInListView()\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>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT * FROM MSysResources WHERE Extension = ''PNG''\", dbOpenSnapshot)\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> objListView = Me.ctlListView.Object\r\n     objListView.ListItems.Clear\r\n     \r\n     <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rst.EOF\r\n         objListView.ListItems.Add , \"a\" & rst!ID, rst!Name, , CStr(rst!Name)\r\n         rst.Move<span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Loop<\/span>\r\n        \r\n     rst.Close\r\n     <span style=\"color:blue;\">Set<\/span> rst = Nothing\r\n     <span style=\"color:blue;\">Set<\/span> db = Nothing End Sub<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Prozedur zum Eintragen von Elementen samt Icons in das ListView-Steuerelement<\/span><\/b><\/p>\n<p>Die Prozedur holt sich wieder ein Recordset auf Basis der Tabelle <b>MSysObjects <\/b>und referenziert das <b>ListView<\/b>-Steuerelement mit der Variablen <b>objListView<\/b>. Dann leert sie das <b>ListView<\/b>-Steuerelement mit der <b>Clear<\/b>-Methode der <b>ListItems<\/b>-Auflistung, falls noch Eintr&auml;ge vorhanden sind.<\/p>\n<p>Schlie&szlig;lich durchl&auml;uft sie das Recordset und f&uuml;gt bei jedem Durchlauf ein neues Element zum <b>ListView<\/b>-Steuerelement hinzu. Dabei wird der Parameter <b>Index <\/b>leer gelassen.<\/p>\n<p>Der Parameter <b>Key <\/b>wird mit dem Buchstaben <b>a <\/b>plus dem Prim&auml;rschl&uuml;sselwert der Tabelle gef&uuml;llt, also beispielsweise <b>a1<\/b>. Der Parameter <b>Text <\/b>erh&auml;lt den Namen des Icons aus der Tabelle <b>MSysResources <\/b>und f&uuml;r den Parameter <b>SmallIcon <\/b>geben wir die Bezeichnung aus dem <b>ImageList<\/b>-Steuerelement an.<\/p>\n<p>Hier ist es wichtig, dass wir den Wert aus dem Feld <b>Name <\/b>des Recordsets mit <b>CStr <\/b>in ein <b>String<\/b>-Element konvertieren. Anderenfalls erhalten wir die Meldung <b>Invalid Key<\/b>.<\/p>\n<p>Als Ergebnis erhalten wir die Ansicht aus Bild 3.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_06\/pic_1577_003.png\" alt=\"Formular mit Icons im ListView-Steuerelement\" width=\"424,5589\" height=\"263,4311\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Formular mit Icons im ListView-Steuerelement<\/span><\/b><\/p>\n<h2>Erst ImageList f&uuml;llen, dann zu Icons oder SmallIcons zuweisen<\/h2>\n<p>Was in unserem Code gegebenenfalls willk&uuml;rlich erscheint, ist in der Praxis wichtig: Wir haben erst das <b>ImageList<\/b>-Steuerelement &uuml;ber die Prozedur <b>ImageListFuellen <\/b>gef&uuml;llt und dieses erst dann &uuml;ber die Eigenschaft <b>SmallIcons <\/b>dem <b>ListView<\/b>-Steuerelement zugewiesen.<\/p>\n<p>Anderenfalls w&uuml;rden wir die Fehlermeldung <b>ImageList must be initialized before it can be used <\/b>erhalten.<\/p>\n<h2>Icon-Gr&ouml;&szlig;en<\/h2>\n<p>Wichtig ist, dass wir die Icons in der Gr&ouml;&szlig;e ablegen, die auch f&uuml;r das <b>ImageList<\/b>-Steuerelement angegeben wurde. Anderenfalls w&uuml;rden die Icons hoch- oder runterskaliert werden, was unter Umst&auml;nden nicht sch&ouml;n aussieht.<\/p>\n<h2>Wenn MSysResources nicht nur Icons enth&auml;lt<\/h2>\n<p>Gegebenenfalls werden in der Tabelle <b>MSysResources <\/b>auch noch Icons anderer Gr&ouml;&szlig;en gespeichert, die zum Beispiel f&uuml;r Schaltfl&auml;chen verwendet werden sollen.<\/p>\n<p>Damit nur die ben&ouml;tigten Icons in das <b>ImageList<\/b>-Steuerelement eingelesen werden, k&ouml;nnen wir diese mit einem speziellen Pr&auml;fix versehen &#8211; zum Beispiel <b>il <\/b>f&uuml;r <b>ImageList<\/b>. Wir m&uuml;ssten dann in den Recordsets der Prozeduren noch nach diesem Pr&auml;fix filtern. So leidet nicht die Performance darunter, dass gegebenenfalls viel zu viele Icons in das <b>ImageList<\/b>-Steuerelement geladen werden.<\/p>\n<h2>Eindeutigkeit der Namen in MSysResources<\/h2>\n<p>Schlie&szlig;lich sollte man noch darauf achten, dass die Namen der einzulesenden Icons eindeutig sind. Die Tabelle <b>MSysResources <\/b>hat keinen eindeutigen Index auf dem Feld <b>Name<\/b>, daher k&ouml;nnen dort auch mehrere Icons mit gleichem Namen landen. Wenn man sich dann wundert, dass nicht das erwartete Icon im <b>ListView<\/b>-Steuerelement erscheint, liegt es vielleicht daran, dass mehrere unterschiedliche Icons unter dem gleichen Namen abgespeichert wurden.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>IconsPerImageListUndVBAImListView.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/26666CDD-F6AA-4E8A-A58F-3F552316F8DA\/aiu_1577.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer einmal mit dem ListView-Steuerelement gearbeitet hat und diesem Icons hinzuf&uuml;gen wollte, hat diese &uuml;blicherweise erst umst&auml;ndlich ins ImageList-Steuerelement eingef&uuml;gt, um diese dann im ListView-Steuerelement anzeigen zu k&ouml;nnen. Dabei bietet Microsoft Access seit langem die M&ouml;glichkeit, Icons komfortabel in einer Tabelle namens MSysResources zu speichern. Die Icons lassen sich einfach durch Auswahl &uuml;ber die Eigenschaft Bild zu Bild-Steuerelementen oder Schaltfl&auml;chen hinzuf&uuml;gen. In diesem Beitrag zeigen wir, wie wir die Bilder aus der Tabelle MSysResources einfach zu einem ImageList-Steuerelement addieren k&ouml;nnen, um diese dann im ListView-Steuerelement zu den einzelnen Eintr&auml;gen hinzuzuf&uuml;gen.<\/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-55001577","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>Icons per ImageList und VBA im ListView-Control - 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\/Icons_per_ImageList_und_VBA_im_ListViewControl\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Icons per ImageList und VBA im ListView-Control\" \/>\n<meta property=\"og:description\" content=\"Wer einmal mit dem ListView-Steuerelement gearbeitet hat und diesem Icons hinzuf&uuml;gen wollte, hat diese &uuml;blicherweise erst umst&auml;ndlich ins ImageList-Steuerelement eingef&uuml;gt, um diese dann im ListView-Steuerelement anzeigen zu k&ouml;nnen. Dabei bietet Microsoft Access seit langem die M&ouml;glichkeit, Icons komfortabel in einer Tabelle namens MSysResources zu speichern. Die Icons lassen sich einfach durch Auswahl &uuml;ber die Eigenschaft Bild zu Bild-Steuerelementen oder Schaltfl&auml;chen hinzuf&uuml;gen. In diesem Beitrag zeigen wir, wie wir die Bilder aus der Tabelle MSysResources einfach zu einem ImageList-Steuerelement addieren k&ouml;nnen, um diese dann im ListView-Steuerelement zu den einzelnen Eintr&auml;gen hinzuzuf&uuml;gen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T21:35:00+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=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Icons per ImageList und VBA im ListView-Control\",\"datePublished\":\"2025-12-02T21:35:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/\"},\"wordCount\":1644,\"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\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/\",\"name\":\"Icons per ImageList und VBA im ListView-Control - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2025-12-02T21:35:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Icons_per_ImageList_und_VBA_im_ListViewControl\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Icons per ImageList und VBA im ListView-Control\"}]},{\"@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":"Icons per ImageList und VBA im ListView-Control - 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\/Icons_per_ImageList_und_VBA_im_ListViewControl\/","og_locale":"de_DE","og_type":"article","og_title":"Icons per ImageList und VBA im ListView-Control","og_description":"Wer einmal mit dem ListView-Steuerelement gearbeitet hat und diesem Icons hinzuf&uuml;gen wollte, hat diese &uuml;blicherweise erst umst&auml;ndlich ins ImageList-Steuerelement eingef&uuml;gt, um diese dann im ListView-Steuerelement anzeigen zu k&ouml;nnen. Dabei bietet Microsoft Access seit langem die M&ouml;glichkeit, Icons komfortabel in einer Tabelle namens MSysResources zu speichern. Die Icons lassen sich einfach durch Auswahl &uuml;ber die Eigenschaft Bild zu Bild-Steuerelementen oder Schaltfl&auml;chen hinzuf&uuml;gen. In diesem Beitrag zeigen wir, wie wir die Bilder aus der Tabelle MSysResources einfach zu einem ImageList-Steuerelement addieren k&ouml;nnen, um diese dann im ListView-Steuerelement zu den einzelnen Eintr&auml;gen hinzuzuf&uuml;gen.","og_url":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/","og_site_name":"Access im Unternehmen","article_published_time":"2025-12-02T21:35:00+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Icons per ImageList und VBA im ListView-Control","datePublished":"2025-12-02T21:35:00+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/"},"wordCount":1644,"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\/Icons_per_ImageList_und_VBA_im_ListViewControl\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/","url":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/","name":"Icons per ImageList und VBA im ListView-Control - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2025-12-02T21:35:00+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Icons_per_ImageList_und_VBA_im_ListViewControl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Icons per ImageList und VBA im ListView-Control"}]},{"@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\/55001577","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=55001577"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001577\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}