{"id":55000212,"date":"2014-04-01T00:00:00","date_gmt":"2020-01-24T15:58:57","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=212"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Das_TreeViewSteuerelement_Grundlagen_Teil_II","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html","title":{"rendered":"Das TreeView-Steuerelement: Grundlagen, Teil II"},"content":{"rendered":"<p class='introduction'>Das TreeView-Steuerelement ist der Allesk&ouml;nner zur Anzeige hierarchischer Daten. Sie zeigen damit sowohl die Daten aus Tabellen mit reflexiver Verkn&uuml;pfung an als auch Daten, die aus verschiedenen verkn&uuml;pften Tabellen stammen &#8211; 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&ouml;tig, um dieses zu f&uuml;llen. In dieser Artikelreihe lernen Sie die Grundlagen zu diesem Steuerelement kennen und erfahren, wie Sie es mit Daten f&uuml;llen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1308_TreeView.mdb<\/b>.<\/p>\n<h2>TreeView-Verlust vorbeugen<\/h2>\n<p>Gerade w&auml;hrend der Entwicklung und beim Experimentieren mit den M&ouml;glichkeiten des TreeViews treten des &ouml;fteren Fehler auf. Wird ein Fehler nicht behandelt, f&uuml;hrt dies dazu, dass Objektvariablen wie <b>obj-TreeView <\/b>zur&uuml;ckgesetzt und somit geleert werden.<\/p>\n<p>Das bedeutet, das erstens keine f&uuml;r dieses Steuerelement programmierten Ereignisse mehr ausgel&ouml;st werden und dann der Zugriff per Code auf die entsprechende Objektvariable wiederum zu Fehlern f&uuml;hrt.<\/p>\n<p>Es gibt jedoch eine M&ouml;glichkeit, diese Variable bei Bedarf immer wieder neu mit einem Verweis auf das <b>TreeView<\/b>-Steuerelement zu f&uuml;llen.<\/p>\n<p>Dazu deklarieren Sie die Variable zum Speichern des Verweises &auml;hnlich wie zuvor, diesmal allerdings unter einem anderen Namen &#8211; n&auml;mlich <b>m_TreeView<\/b>. Der Grund ist, dass wir den zuvor verwendeten Namen <b>objTreeView <\/b>als Name einer <b>Property Get<\/b>-Prozedur verwenden. Genaueres &uuml;ber solche Prozeduren erfahren Sie in einem sp&auml;teren Artikel &uuml;ber die Klassenprogrammierung unter VBA &#8211; f&uuml;rs erste reicht es, wenn Sie wissen, dass die <b>Property Get<\/b>-Prozedur &auml;hnlich wie eine Funktion einen Wert oder einen Verweis zur&uuml;ckliefert.<\/p>\n<p>In diesem Fall pr&uuml;ft diese Prozedur, ob die Variable <b>m_TreeView <\/b>bereits gef&uuml;llt ist, und zwar durch den <b>Is<\/b>-Vergleich mit dem Ausdruck <b>Nothing<\/b>. Ist dies wahr, wurde die Variable entweder noch nicht bef&uuml;llt oder ist durch einen Fehler wieder geleert worden.<\/p>\n<p>In beiden F&auml;llen soll diese jedoch gef&uuml;llt werden. Der Inhalt der Variablen wird dann, unabh&auml;ngig davon, ob er erst jetzt gef&uuml;llt wurde oder bereits gef&uuml;llt war, mit der <b>Property Get<\/b>-Prozedur <b>objTreeView<\/b> zur&uuml;ckgegeben (siehe Listing 1).<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents m_Treeview<span style=\"color:blue;\"> As <\/span>MSComctlLib.TreeView\r\n<span style=\"color:blue;\">Private Property Get <\/span>objTreeView()<span style=\"color:blue;\"> As <\/span>MSComctlLib.TreeView\r\n     <span style=\"color:blue;\">If <\/span>m_Treeview Is Nothing<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">Set<\/span> m_Treeview = Me!ctlTreeView.Object\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> objTreeView = m_Treeview\r\n<span style=\"color:blue;\">End Property<\/span><\/pre>\n<p class='imagetext'>Listing 1: objTreeView liefert immer einen Verweis auf das TreeView-Steuerelement in ctlTreeView.<\/p>\n<p><b>objTreeView <\/b>muss auf diese Weise nicht mehr in der <b>Form_Load<\/b>-Ereignisprozedur gef&uuml;llt werden.<\/p>\n<p>Dieses Beispiel finden Sie im Formular <b>frmTreeView_mTreeView<\/b>.<\/p>\n<h2>TreeView-Eigenschaften per Code einstellen<\/h2>\n<p>Wenn Sie hier und da <b>TreeView<\/b>-Steurelemente einbauen, m&ouml;chten Sie vielleicht gern die Eigenschaften wie bei einem <b>TreeView<\/b>-Steuerelement einstellen, mit denen bereits gute Erfahrungen in einer anderen Anwendung gemacht haben.<\/p>\n<p>In meinen Anwendungen verzichte ich daher v&ouml;llig auf die Einstellung der Eigenschaften &uuml;ber den entsprechenden Dialog des <b>TreeView<\/b>-Steuerelements im Formularentwurf. Ich stelle die Eigenschaften immer gleich beim Laden des Formulars per VBA-Code ein. F&uuml;r einige Standardeigenschaften, die sich auf das Aussehen des <b>TreeView<\/b>-Steuerelements beziehen, sieht dies etwa wie folgt aus:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">With<\/span> objTreeView\r\n         .Appearance = ccFlat\r\n         .BorderStyle = ccNone\r\n         .LineStyle = tvwRootLines\r\n         .Style = &micro; \r\n             tvwTreelinesPlusMinusText\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>In den folgenden Beispielen kommen je nach Bedarf noch weitere Eigenschaften hinzu. Wenn Sie diese Eigenschaften f&uuml;r <b>TreeView<\/b>-Steuerelemente in andere Formulare oder gar andere Anwendungen &uuml;bernehmen m&ouml;chten, kopieren Sie einfach die entsprechenden Codezeilen in die <b>Form_Load<\/b>-Prozedur.<\/p>\n<h2>TreeView f&uuml;llen<\/h2>\n<p>Nun haben wir die Voraussetzungen daf&uuml;r geschaffen, dass TreeView-Steuerelement per VBA mit den gew&uuml;nschten Werten zu f&uuml;llen.<\/p>\n<p>Das <b>TreeView<\/b>-Steuerelement besitzt eine Auflistung namens <b>Nodes<\/b>, die alle im <b>TreeView<\/b>-Steuerelement angezeigten Element aufnimmt. Ein einzelnes Element im <b>TreeView <\/b>hei&szlig;t dementsprechend <b>Node<\/b>. Um ein <b>Node<\/b>-Objekt zum TreeView hinzuzuf&uuml;gen, verwenden Sie die <b>Add<\/b>-Methode der <b>Nodes<\/b>-Auflistung.<\/p>\n<p>Wenn Sie einen Node zur obersten Ebene der Hierarchie im <b>TreeView<\/b>-Steuerelement einf&uuml;gen m&ouml;chten, sieht der Aufruf etwa wie in Listing 2 aus. Das Element wird hier bei Laden des Formulars hinzugef&uuml;gt (siehe Bild 1). <\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_212_015.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_212_015.png\" alt=\"Erstes Element im TreeView-Steuerelement\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Erstes Element im TreeView-Steuerelement<\/p>\n<p>Die <b>Add<\/b>-Methode erwartet die folgenden Parameter:<\/p>\n<ul>\n<li><b>Relative<\/b>: Gibt den <b>Key<\/b>-Wert eines Elements an, zu dem das neue Element in Beziehung stehen soll.<\/li>\n<li><b>Relationship<\/b>: Gibt die Beziehung des neuen Elements zu dem in Relative bezeichneten Element an. Die Werte sind <b>tvwChild<\/b>, <b>tvwFirst<\/b>, <b>tvwLast<\/b>, <b>tvwNext<\/b>, <b>tvwPrevious<\/b>.<\/li>\n<li><b>Key<\/b>: Ein eindeutiger Schl&uuml;ssel f&uuml;r jedes Element, der mit einem Buchstaben beginnen muss.<\/li>\n<li><b>Text<\/b>: Der durch das Element angezeigte Text.<\/li>\n<li><b>Image<\/b>: Name eines Bildes, das als Icon des Elements angezeigt werden soll.<\/li>\n<li><b>SelectedImage<\/b>: Name eines Bildes, dass statt des in <b>Image <\/b>festgelegten Bildes angezeigt werden soll, wenn das Element ausgew&auml;hlt ist.<\/li>\n<\/ul>\n<p>Zum Anlegen eines ersten Elements reichen die beiden Parameter <b>Key<\/b> und <b>Text <\/b>aus.<\/p>\n<p>Zu den Eigenschaften <b>Image<\/b> und <b>SelectedImage <\/b>kommen wir in einem sp&auml;teren Teil der Artikelreihe.<\/p>\n<p>Da es etwas m&uuml;&szlig;ig ist, das Formular zum Ausprobieren des Codes nach jeder &auml;nderung immer wieder neu zu schlie&szlig;en und zu &ouml;ffnen, f&uuml;gen wir diesem eine Schaltfl&auml;che hinzu, das die Prozedur zum F&uuml;llen des <b>TreeView<\/b>-Steuerelements ausl&ouml;st.<\/p>\n<p>F&uuml;r die folgenden Beispiele erweitern wir das Formular dann entsprechend um weitere Schaltfl&auml;chen.<\/p>\n<p>Die erste aus Bild 2 l&ouml;st somit folgende Prozedur aus:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_212_016.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_212_016.png\" alt=\"Erstes Element per Schaltfl&auml;che\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Erstes Element per Schaltfl&auml;che<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdErstesElement_Click()\r\n     objTreeView.Nodes.Add , , \"a1\",          \"Erster Knoten\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>TreeView leeren<\/h2>\n<p>Wenn einem <b>TreeView <\/b>mehrfach die gleichen Elemente hinzuf&uuml;gen m&ouml;chten, m&uuml;ssen Sie die vorhandenen Elemente zuvor entfernen.<\/p>\n<p>Anderenfalls tritt ein Fehler auf, sobald Sie ein Element hinzuf&uuml;gen, dessen <b>Key<\/b>-Wert bereits einem der anderen Elemente im <b>TreeView<\/b>-Steuerelement zugeordnet ist. Es ist allerdings kein Problem, die vorhandenen Elemente zu l&ouml;schen &#8211; dazu verwenden Sie einfach die Clear-Anweisung der Nodes-Auflistung:<\/p>\n<pre>objTreeView.Nodes.Clear<\/pre>\n<h2>Weitere Elemente in der obersten Ebene<\/h2>\n<p>Um der obersten Ebene weitere Elemente hinzuzuf&uuml;gen, rufen Sie einfach die <b>Add<\/b>-Methode mit den gew&uuml;nschten <b>Key<\/b>&#8211; und <b>Name<\/b>-Werten auf &#8211; also beispielsweise so:<\/p>\n<pre>objTreeView.Nodes.Add , , \"a1\",                         \"Erster Knoten\"\r\nobjTreeView.Nodes.Add , , \"a2\",                        \"Zweiter Knoten\"\r\nobjTreeView.Nodes.Add , , \"a3\",                        \"Dritter Knoten\"<\/pre>\n<p>Die Elemente werden dann genau in dieser Reihenfolge angelegt.<\/p>\n<h2>Verwandte Elemente anlegen<\/h2>\n<p>Wenn Sie weitere Elemente anlegen und dabei deren Position einstellen m&ouml;chten, verwenden Sie die beiden Parameter <b>Relative <\/b>und <b>Relationship<\/b>. Der am h&auml;ufigsten eingesetzte Fall d&uuml;rfte das Einf&uuml;gen eines Kindelements sein. Die Prozedur aus Listing 3 legt einige Eltern- und Kindelemente an.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdRelativeWerte_Click()\r\n     objTreeView.Nodes.Clear\r\n     objTreeView.Nodes.Add , , \"a1\", \"Erster Knoten\"\r\n     objTreeView.Nodes.Add \"a1\", tvwChild, \"a11\", \"Erster Kind-Knoten\"\r\n     objTreeView.Nodes.Add , , \"a2\", \"Zweiter Knoten\"\r\n     objTreeView.Nodes.Add \"a2\", tvwChild, \"a21\", \"Zweiter Kind-Knoten\"\r\n     objTreeView.Nodes.Add \"a2\", tvwChild, \"a22\", \"Dritter Kind-Knoten\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 3: Hinzuf&uuml;gen zweier Elemente und einiger Kindelemente<\/p>\n<p>Das Ergebnis finden Sie in Bild 3.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_212_017.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_212_017.png\" alt=\"Eltern- und Kindelemente\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Eltern- und Kindelemente<\/p>\n<p>Dies ist der Normalfall: Die Elemente werden gleich in der gew&uuml;nschten Reihenfolge angelegt, die beispielsweise durch die Sortierung der zugrunde liegenden Daten vorgegeben wird. Gleiches gilt f&uuml;r das Hinzuf&uuml;gen der untergeordneten Elemente.<\/p>\n<p>Es kann jedoch auch geschehen, dass Sie nachtr&auml;glich ein Element vor oder hinter ein bestimmtes Element oder an erster oder letzter Stelle der Ebene eines bestimmten Elements einf&uuml;gen m&ouml;chten.<\/p>\n<p>Dann kommen neben <b>tvwChild<\/b> weitere Konstanten f&uuml;r den Parameter <b>Relationship <\/b>zum Tragen. Die Prozedur aus Listing 4 ist die erweiterte Version der zuvor beschriebenen Prozedur. Zu den bereits vorhandenen Elementen f&uuml;gt die Prozedur die folgenden Elemente hinzu:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdRelativeWerteII_Click()\r\n     ....\r\n     objTreeView.Nodes.Add \"a1\", tvwFirst, \"a3\", \"Als Erster eingeschoben\"\r\n     objTreeView.Nodes.Add \"a11\", tvwLast, \"a12\", \"Als Letzter eingeschoben\"\r\n     objTreeView.Nodes.Add \"a21\", tvwNext, \"a12a\", \"Nach Element eingeschoben\"\r\n     objTreeView.Nodes.Add \"a22\", tvwPrevious, \"a12b\", \"Vor Element eingeschoben\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 4: Hinzuf&uuml;gen von Elementen als erstes, letztes, folgendes und vorheriges Element einer Ebene<\/p>\n<ul>\n<li>das Element <b>a3 <\/b>als erstes Element der Ebene, in der sich das Element <b>a1 <\/b>befindet,<\/li>\n<li>das Element <b>a12 <\/b>als letztes Element der Ebene des Elements <b>a11<\/b>,<\/li>\n<li>das Element <b>a21a <\/b>als folgendes Element des Elements <b>a21 <\/b>und<\/li>\n<li>das Element <b>a21b <\/b>als vorheriges Element des Elements <b>a22<\/b>.<\/li>\n<\/ul>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000212\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000212?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000212\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"22c77db969\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das TreeView-Steuerelement ist der Allesk&ouml;nner zur Anzeige hierarchischer Daten. Sie zeigen damit sowohl die Daten aus Tabellen mit reflexiver Verkn&uuml;pfung an als auch Daten, die aus verschiedenen verkn&uuml;pften Tabellen stammen &#8211; 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&ouml;tig, um dieses zu f&uuml;llen. In dieser Artikelreihe lernen Sie die Grundlagen zu diesem Steuerelement kennen und erfahren, wie Sie es mit Daten f&uuml;llen.<\/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":[662013,66082013,44000012],"tags":[],"class_list":["post-55000212","post","type-post","status-publish","format-standard","hentry","category-662013","category-66082013","category-Steuerelemente"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Das TreeView-Steuerelement: Grundlagen, Teil II - Access [basics]<\/title>\n<meta name=\"description\" content=\"Das TreeView-Steuerelement ist der Allesk\u00f6nner zur Anzeige hierarchischer Daten. Sie zeigen damit sowohl die Daten aus Tabellen mit reflexiver Verkn\u00fcpfung an als auch Daten, die aus verschiedenen verkn\u00fcpften Tabellen stammen \u2013 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\u00f6tig, um dieses zu f\u00fcllen. In dieser Artikelreihe lernen Sie die Grundlagen zu diesem Steuerelement kennen und erfahren, wie Sie es mit Daten f\u00fcllen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Das TreeView-Steuerelement: Grundlagen, Teil II - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Das TreeView-Steuerelement ist der Allesk\u00f6nner zur Anzeige hierarchischer Daten. Sie zeigen damit sowohl die Daten aus Tabellen mit reflexiver Verkn\u00fcpfung an als auch Daten, die aus verschiedenen verkn\u00fcpften Tabellen stammen \u2013 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\u00f6tig, um dieses zu f\u00fcllen. In dieser Artikelreihe lernen Sie die Grundlagen zu diesem Steuerelement kennen und erfahren, wie Sie es mit Daten f\u00fcllen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_212_015.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"18\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_212_015.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html\",\"name\":\"Das TreeView-Steuerelement: Grundlagen, Teil II - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:58:57+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Das TreeView-Steuerelement ist der Allesk\\u00f6nner zur Anzeige hierarchischer Daten. Sie zeigen damit sowohl die Daten aus Tabellen mit reflexiver Verkn\\u00fcpfung an als auch Daten, die aus verschiedenen verkn\\u00fcpften Tabellen stammen \\u2013 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\\u00f6tig, um dieses zu f\\u00fcllen. In dieser Artikelreihe lernen Sie die Grundlagen zu diesem Steuerelement kennen und erfahren, wie Sie es mit Daten f\\u00fcllen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Das_TreeViewSteuerelement_Grundlagen_Teil_II.html\",\"name\":\"Das TreeView-Steuerelement: Grundlagen, Teil II\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000212"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000212\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}