Home > Artikel > Ausgabe 7/2013 > Das TreeView-Steuerelement: Grundlagen, Teil I

Das TreeView-Steuerelement: Grundlagen, Teil I

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Das TreeView-Steuerelement ist der Alleskönner zur Anzeige hierarchischer Daten. Sie zeigen damit sowohl die Daten aus Tabellen mit reflexiver Verknüpfung an als auch Daten, die aus verschiedenen verknüpften Tabellen stammen – wie etwa Kunden und Projekte. Das Steuerelement kann als ActiveX-Steuerelement im Gegensatz zu den eingebauten Steuerelementen von Access nicht direkt an eine Datenherkunft gebunden werden, also ist ein wenig Handarbeit nötig, um dieses zu füllen. In dieser Artikelreihe lernen Sie die Grundlagen zu diesem Steuerelement kennen und erfahren, wie Sie es mit Daten füllen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1307_TreeView.mdb.

Hinweis

Unter Access 2013 gibt es ein paar Haken und Ösen, was den Einsatz des TreeView-Steuerelements angeht. Daher zeigen wir die Beispiele zu dieser Artikelreihe anhand der Access-Version 2013 vor.

Und noch ein Hinweis: Wenn Sie den Einsatz von ActiveX-Steuerelementen wie ImageList, ListView oder TreeView planen, sollten Sie die 32bit-Variante der jeweiligen Office-Version installieren. Die 64bit-Versionen unterstützen diese Steuerelemente nicht.

TreeView-Steuerelement anlegen

TreeView-Steuerelemente setzt man in Formularen ein. Nachdem Sie ein neues Formular erstellt haben, fügen Sie dort ein neues TreeView-Steuerelement ein. Das TreeView-Steuerelement finden Sie im Ribbon nicht unter den eingebauten Steuerelementen, sondern in den ActiveX-Steuerelementen.

Die Liste der ActiveX-Steuerelemente zeigen Sie an, indem Sie im Ribbon unter Entwurf|Steuerelemente die Liste der Steuerelemente aufklappen und den Eintrag ActiveX-Steuerelemente auswählen (siehe Bild 1). Nun erscheint ein Dialog namens ActiveX-Steuerelement einfügen, mit dem Sie das TreeView-Steuerelement auswählen können (siehe Bild 2). Nach einem Klick auf die OK-Schaltfläche zeigt Access das Steuerelement zunächst ziemlich unscheinbar im Formular an (siehe Bild 3).

Ein frisches TreeView-Steuerelement im Formularentwurf

Bild 1: Ein frisches TreeView-Steuerelement im Formularentwurf

Aufrufen der Liste der ActiveX-Steuerelemente

Bild 2: Aufrufen der Liste der ActiveX-Steuerelemente

Auswahl des TreeView-Steuerelements

Bild 3: Auswahl des TreeView-Steuerelements

Vergrößern Sie das TreeView-Steuerelement nun auf die gewünschte Größe und legen Sie den Namen des Steuerelements über das Eigenschaftsfenster auf ctlTreeView fest.

Benennung

Bei eingebauten Steuerelemente verwenden wir in der Regel dem Steuerelement entsprechende Präfixe wie txt, cmd, cbo und so weiter. Eigentlich sollte man für das TreeView-Steuerelement dementsprechend tvw oder für das ListView-Steuerelement lvw verwenden. Allerdings wird sich gleich zeigen, dass wir im VBA-Code nicht direkt auf die Steuerelementnamen zugreifen (zumindest in vielen Fällen), sondern eine Objektvariable erstellen, um das Steuerelement und seine Methoden, Ereignisse und Eigenschaften zu referenzieren. Wir können also im Code nicht immer auf den Steuerelementnamen zugreifen.

Im Laufe meiner Zeit als Access-Entwickler habe ich mir angewöhnt, das TreeView-Steuerelement selbst mit ctlTreeView zu benennen (wobei ctl für Control steht) und im Code die Bezeichnung objTreeView zu verwenden – obj steht hier für Objekt(variable). In den meisten Fällen ist das kein Problem, da selten mehr als ein ListView- oder TreeView-Steuerelement pro Formular zum Einsatz kommt. Und sollte dies doch einmal der Fall sein, verwenden Sie eben Bezeichnungen wie ctlTvwVerzeichnisse und objTvwVerzeichnisse.

TreeView-Eigenschaften

Bevor wir das TreeView-Steuerelement mit den ersten Daten füllen, schauen wir uns seine Eigenschaften an. Dabei stellen wir fest, dass das Eigenschaftsfenster nur einige wenige Standardeigenschaften vorhält, die für alle ActiveX-Steuerelement gleich sind.

Wenn Sie in die Tiefe gehen wollen, müssen Sie das eigentliche Eigenschaftsfenster des TreeView-Steuerelements öffnen. Dies erreichen Sie über den Kontextmenü-Eintrag TreeView-Object|Properties (siehe Bild 4).

Aufruf des Eigenschaftsfensters eines ActiveX-Steuerelements

Bild 4: Aufruf des Eigenschaftsfensters eines ActiveX-Steuerelements

Gegebenenfalls erwartet Sie nun der Dialog aus Bild 5. Im Gegensatz zur funktionierenden Variante sind hier in den meisten Fällen weder Eigenschaftswerte voreingestellt noch können Sie welche auswählen – die Kombinationsfelder zeigen leere Listen an.

Die Eigenschaften des TreeView-Steuerelements – ohne Werte und Auswahlmöglichkeit

Bild 5: Die Eigenschaften des TreeView-Steuerelements – ohne Werte und Auswahlmöglichkeit

TreeView/MSCOMCTL.ocx reparieren

Abhilfe schaffen Sie über die folgende Vorgehensweise (gilt auch für andere Versionen, in denen Probleme auftauchen): Prüfen Sie zunächst, ob sich auf Ihrem Rechner die neueste Version der Datei MSCOMCTL.ocx befindet. Diese finden Sie im Verzeichnis C:\Windows\System32 (Windows 7 32bit, sonst gegebenenfalls C:\Windows\SYSWOW64). Die Version ermitteln Sie auf der Registerseite Details des Eigenschaften-Dialogs, den Sie über das Kontextmenü der Datei öffnen. Dort sollte für die Eigenschaft Dateiversion der Wert 6.1.98.34 eingetragen sein (Stand Mitte 2013).

Ist dies nicht der Fall, laden Sie diese Dateiversion herunter und überschreiben die vorhandene Datei damit.

Nun prüfen Sie den Eintrag für die Datei MSCOMCTL.ocx in der Registry. Die Registry starten Sie über das Startmenü von Windows mit dem Befehl Regedit.exe. Den passenden Eintrag finden Sie unter HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}. Dort befinden sich entweder Einträge für die Version 2.0, 2.1 oder beide (siehe Bild 6).

Eintrag für die Datei MSCOMCTL.ocx in der Registry

Bild 6: Eintrag für die Datei MSCOMCTL.ocx in der Registry

Entfernen Sie die Einträge, wir fügen diese gleich neu hinzu. Dazu starten Sie die Eingabeaufforderung von Windows. Geben Sie cmd im Startmenü von Windows ein.

Wenn ein Suchergebnis namens cmd.exe erscheint, klicken Sie mit der rechten Maustaste darauf und wählen aus dem Kontextmenü den Eintrag Als Administrator ausführen (siehe Bild 7). Es reicht nicht, wenn Sie mit Administratorrechten angemeldet sind!

Öffnen der Kommandozeile

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!