{"id":55000430,"date":"2018-12-01T00:00:00","date_gmt":"2020-01-24T16:00:16","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=430"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Datenblatt_per_VBA_Spalten_ein_und_ausblenden","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html","title":{"rendered":"Datenblatt per VBA: Spalten ein- und ausblenden"},"content":{"rendered":"<p class='introduction'>F&uuml;r die Datenblattansicht unter Access gibt es eine Menge Einstellungsm&ouml;glichkeiten. Diese haben wir ausf&uuml;hrlich im Artikel &#8222;Datenblattansicht im Griff&#8220; in Ausgabe 10\/2011 beschrieben. Nun werfen wir einen Blick darauf, wie Sie diese Einstellungen per VBA einlesen und einstellen und welche Nutzungsm&ouml;glichkeiten sich daraus ergeben &#8211; zum Beispiel das einfache Ein- und Ausblenden der Spalten des Datenblatts.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1806_DatenblattPerVBA.accdb<\/b>.<\/p>\n<h2>Vorbereitung<\/h2>\n<p>Wir verwenden eine Beispieldatenbank mit den Tabellen der Suedsturm-Datenbank und dort speziell mit den Tabellen <b>tblArtikel<\/b>, <b>tblKategorien <\/b>und <b>tblLieferanten<\/b>.<\/p>\n<p>Wir stellen ein Unterformular namens <b>sfmArtikel<\/b>, das wir &uuml;ber die Eigenschaft Datensatzquelle an die Tabelle <b>tblArtikel <\/b>binden. Danach ziehen wir alle Felder dieser Tabelle in den Detailbereich des Entwurfs des neuen Formulars. Nach dem Einstellen der Eigenschaft <b>Standardansicht<\/b> auf <b>Datenblatt <\/b>speichern und schlie&szlig;en wir das Formular.<\/p>\n<p>Nun erstellen wir das Hauptformular f&uuml;r dieses Formular und speichern es unter dem Namen <b>frmArtikel<\/b>. Das Formular <b>sfmArtikel<\/b> ziehen wir aus dem Navigationsbereich in den Entwurf des Hauptformulars, sodass dieses im Entwurf nun wie in Bild 1 aussieht.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_430_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_430_001.png\" alt=\"Entwurf der Datenblattansicht\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Entwurf der Datenblattansicht<\/p>\n<p>Au&szlig;erdem stellen wir f&uuml;r das Hauptformular die Eigenschaften <b>Datensatzmarkierer<\/b>, <b>Navigationsschaltfl&auml;chen <\/b>und <b>Bildlaufleisten <\/b>jeweils auf <b>Nein <\/b>ein und <b>Automatisch zentrieren <\/b>auf <b>Ja<\/b>. Schlie&szlig;lich soll das Unterformular sich mit dem Hauptformular vergr&ouml;&szlig;ern lassen, daher legen wir f&uuml;r die Eigenschaften <b>Horizontalter Anker <\/b>und <b>Vertikaler Anker <\/b>jeweils den Wert <b>Beide <\/b>fest.<\/p>\n<p>Nach dem Wechsel in die Formularansicht des Hauptformulars erwartet uns dann die Ansicht aus Bild 2.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_430_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_430_002.png\" alt=\"Datenblatt in der Formularansicht\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Datenblatt in der Formularansicht<\/p>\n<h2>Spalten ein- und ausblenden per Benutzeroberfl&auml;che<\/h2>\n<p>Wie k&ouml;nnen wir nun per VBA eine Spalte ein- oder ausblenden &uuml;ber die Benutzeroberfl&auml;che geht das ganz einfach: Dort klicken wir mit der rechten Maustaste auf die entsprechende Spalten&uuml;berschrift und w&auml;hlen den Eintrag <b>Felder ausblenden <\/b>aus dem Kontextmen&uuml; aus (siehe Bild 3).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_430_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_430_003.png\" alt=\"Feld ausblenden per Kontextmen&uuml;\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Feld ausblenden per Kontextmen&uuml;<\/p>\n<h2>Spalten ein- und ausblenden per VBA<\/h2>\n<p>Und wie bekommen wir das per VBA hin Wir k&ouml;nnen es ja einfach mal &uuml;ber das Direktfenster probieren, indem wir dort entsprechende Eigenschaften &auml;ndern. Um zu pr&uuml;fen, ob wir etwa die Spalte <b>Artikelname <\/b>korrekt referenzieren, wollen wir einmal den Inhalt des aktuellen Feldes ausgeben, was auch gelingt:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Forms!frmArtikel!sfmArtikel.Form!Artikelname\r\n  Chai<\/pre>\n<p>K&ouml;nnen wir so auch etwa die Breite des Feldes einstellen Die Breite k&ouml;nnen wir zumindest ausgeben:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Forms!frmArtikel!sfmArtikel.                                  Form!Artikelname.width\r\n 1701 <\/pre>\n<p>L&auml;sst sie sich so auch &auml;ndern Der folgende Befehl, der die Spaltenbreite verdoppel sollte, zeigt jedenfalls keine Wirkung:<\/p>\n<pre>Forms!frmArtikel!sfmArtikel.Form!Artikelname.Width                                                   = 3400<\/pre>\n<p>Damit gehen wir dann zum Ein- und Ausblenden &uuml;ber &#8211; funktioniert das wenigstens Dazu nutzen wir die <b>Visible<\/b>-Eigenschaft, erst einmal zum Auslesen des aktuellen Wertes:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> Forms!frmArtikel!sfmArtikel.                                Form!Artikelname.Visible\r\nWahr<\/pre>\n<p>Dann versuchen wir, die Spalte mit der folgenden Anweisung auszublenden:<\/p>\n<pre>Forms!frmArtikel!sfmArtikel.Form!Artikelname.Visible                                                  = <span style=\"color:blue;\">False<\/span><\/pre>\n<p>Das liefert immerhin einmal eine Reaktion &#8211; wenn auch nur in Form einer Fehlermeldung (siehe Bild 4). Wir k&ouml;nnen das Feld nat&uuml;rlich nicht ausblenden, wenn dieses den Fokus hat. Also verschieben wir diesen auf ein anderes Feld, zum Beispiel <b>Artikel-ID<\/b>, und f&uuml;hren den Befehl erneut aus. Und es geschieht wieder nichts! Offensichtlich kommen wir an die Spalten nicht &uuml;ber den Verweis auf die dahinterliegenden Steuer-elemente heran.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_430_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_430_004.png\" alt=\"Fehler beim Zugriff auf die Visible-Eigenschaft eines aktiven Steuerelements\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Fehler beim Zugriff auf die Visible-Eigenschaft eines aktiven Steuerelements<\/p>\n<h2>Eigenschaften f&uuml;r Datenblattspalten<\/h2>\n<p>Da stellt sich doch die Frage, ob die f&uuml;r Steuer-elemente in der Formularansicht g&uuml;ltigen Eigenschaften &uuml;berhaupt in der Datenblattansicht wirken. Also durchsuchen wir einmal den Objektkatalog etwa nach den Eigenschaften f&uuml;r das Textfeld-Steuerelement. Und hier werden wir dann auch schnell f&uuml;ndig: Mit <b>ColumnHidden<\/b>, <b>ColumnOrder <\/b>und <b>ColumnWidth <\/b>finden wir Eigenschaften, die sich direkt auf Spalten beziehen (siehe Bild 5).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_430_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_430_005.png\" alt=\"Einstellungen f&uuml;r Datenblattspalten\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Einstellungen f&uuml;r Datenblattspalten<\/p>\n<p>Die Eigenschaft <b>ColumnHidden <\/b>f&uuml;r die Spalte <b>Artikelname <\/b>sollte also zum Beispiel den Wert <b>Falsch <\/b>ausgeben, was auch geschieht:<\/p>\n<pre> Forms!frmArtikel!sfmArtikel.Form!Artikelname.                                            ColumnHidden\r\nFalsch<\/pre>\n<p>Nun wollen wir die Spalte einmal ausblenden. Dazu verwenden wir diesen Befehl:<\/p>\n<pre>Forms!frmArtikel!sfmArtikel.Form!Artikelname.                                    ColumnHidden = <span style=\"color:blue;\">True<\/span><\/pre>\n<p>Und es gelingt &#8211; die Spalte ist nicht mehr zu sehen (siehe Bild 6). Auf die gleiche Weise k&ouml;nnen wir die Spalte auch wieder einblenden, dazu brauchen wir die Eigenschaft <b>ColumnHidden <\/b>nur wieder auf <b>False <\/b>einzustellen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_430_006.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_430_006.png\" alt=\"Ausblendete Spalte\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 6: Ausblendete Spalte<\/p>\n<h2>Komfortables Ein- und Ausblenden<\/h2>\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\/55000430\/\">\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\/55000430?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\/55000430\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\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>F&uuml;r die Datenblattansicht unter Access gibt es eine Menge Einstellungsm&ouml;glichkeiten. Diese haben wir ausf&uuml;hrlich im Artikel &#8222;Datenblattansicht im Griff&#8220; in Ausgabe 10\/2011 beschrieben. Nun werfen wir einen Blick darauf, wie Sie diese Einstellungen per VBA einlesen und einstellen und welche Nutzungsm&ouml;glichkeiten sich daraus ergeben &#8211; zum Beispiel das einfache Ein- und Ausblenden der Spalten des Datenblatts.<\/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":[662018,66062018,44000010],"tags":[],"class_list":["post-55000430","post","type-post","status-publish","format-standard","hentry","category-662018","category-66062018","category-Formulare_mit_VBA_programmieren"],"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>Datenblatt per VBA: Spalten ein- und ausblenden - Access [basics]<\/title>\n<meta name=\"description\" content=\"F\u00fcr die Datenblattansicht unter Access gibt es eine Menge Einstellungsm\u00f6glichkeiten. Diese haben wir ausf\u00fchrlich im Artikel \u00bbDatenblattansicht im Griff\u00ab in Ausgabe 10\/2011 beschrieben. Nun werfen wir einen Blick darauf, wie Sie diese Einstellungen per VBA einlesen und einstellen und welche Nutzungsm\u00f6glichkeiten sich daraus ergeben \u2013 zum Beispiel das einfache Ein- und Ausblenden der Spalten des Datenblatts.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Datenblatt per VBA: Spalten ein- und ausblenden - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"F\u00fcr die Datenblattansicht unter Access gibt es eine Menge Einstellungsm\u00f6glichkeiten. Diese haben wir ausf\u00fchrlich im Artikel \u00bbDatenblattansicht im Griff\u00ab in Ausgabe 10\/2011 beschrieben. Nun werfen wir einen Blick darauf, wie Sie diese Einstellungen per VBA einlesen und einstellen und welche Nutzungsm\u00f6glichkeiten sich daraus ergeben \u2013 zum Beispiel das einfache Ein- und Ausblenden der Spalten des Datenblatts.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T16:00:16+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_430_001.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=\"11\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\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_430_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html\",\"name\":\"Datenblatt per VBA: Spalten ein- und ausblenden - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html#primaryimage\"},\"datePublished\":\"2020-01-24T16:00:16+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"F\\u00fcr die Datenblattansicht unter Access gibt es eine Menge Einstellungsm\\u00f6glichkeiten. Diese haben wir ausf\\u00fchrlich im Artikel \\u00bbDatenblattansicht im Griff\\u00ab in Ausgabe 10\/2011 beschrieben. Nun werfen wir einen Blick darauf, wie Sie diese Einstellungen per VBA einlesen und einstellen und welche Nutzungsm\\u00f6glichkeiten sich daraus ergeben \\u2013 zum Beispiel das einfache Ein- und Ausblenden der Spalten des Datenblatts.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.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\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Datenblatt_per_VBA_Spalten_ein_und_ausblenden.html\",\"name\":\"Datenblatt per VBA: Spalten ein- und ausblenden\"}}]},{\"@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\/55000430","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=55000430"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000430\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}