{"id":55000474,"date":"2020-02-01T00:00:00","date_gmt":"2020-07-03T10:46:02","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=474"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Kombinationsfeld_mit_reflexiven_Daten","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html","title":{"rendered":"Kombinationsfeld mit reflexiven Daten"},"content":{"rendered":"<p class='introduction'>Ein Beispiel f&uuml;r Daten, die aus reflexiv verkn&uuml;pften Tabellen stammen und die &uuml;ber ein Kombinationsfeld ausw&auml;hlbar sein sollen, sind Kategorien. Diese verwalten Sie typischerweise &uuml;ber ein TreeView-Steuerelement. Aber wenn Sie einem Element eine dieser Kategorien zuweisen wollen, steht zum Beispiel aus Platzgr&uuml;nden vielleicht nur ein Kombinationsfeld zur Auswahl zur Verf&uuml;gung. Wir zeigen zwei M&ouml;glichkeiten, mit denen Sie die Daten aus reflexiv verkn&uuml;pften Tabellen in einem Kombinationsfeld anzeigen k&ouml;nnen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>2001_KombinationsfeldMitReflexivenDaten.accdb<\/b>.<\/p>\n<h2>Beispieldaten<\/h2>\n<p>Die Daten, auf denen die folgenden Beispiele aufbauen, stammen wahlweise aus einer Tabelle namens <b>tblKategorien <\/b>mit den drei Feldern <b>KategorieID<\/b>, <b>Kategorie <\/b>und <b>ParentKategorieID<\/b>, wobei das letzte Feld zur Festlegung &uuml;bergeordneter Elemente dient. Oder aus den zwei verkn&uuml;pften Tabellen <b>tblKate-gorien2 <\/b>und <b>tblKategoriezuordnungen<\/b>, wobei <b>tblKategorien2 <\/b>nur die beiden Felder <b>KategorieID <\/b>und <b>Kategorie <\/b>enth&auml;lt und die Tabelle <b>tblKategoriezuordnungen <\/b>die Felder <b>KategoriezuordnungID<\/b>, <b>ParentkategorieID <\/b>und <b>ChildkategorieID<\/b>. Die letzten beiden Felder sind Fremdschl&uuml;sselfelder, die eine Zuordnung von &uuml;ber- und untergeordneten Eintr&auml;gen der Tabelle <b>tblKategorien2 <\/b>erlaubt. Details hierzu finden Sie in den beiden Artikeln <b>Reflexive Daten in Tabellen <\/b>und <b>Reflexive Daten in Abfragen<\/b>.<\/p>\n<p>Letzterer beschreibt auch, wie Sie die beiden Tabellen <b>tblKategorien2 <\/b>und <b>tblKategoriezuordnungen <\/b>so in einer Abfrage zusammenfassen, dass Sie die gleiche Darstellung wie in einer Tabelle <b>tblKategorien <\/b>erhalten, die direkt das Feld zur Zuordnung zu einem &uuml;bergeordneten Element enth&auml;lt. Das Ergebnis dieser Abfrage sieht beispielsweise wie in Bild 1 aus.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_474_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_474_001.png\" alt=\"Datenbasis f&uuml;r die Darstellung im Kombinationsfeld\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Datenbasis f&uuml;r die Darstellung im Kombinationsfeld<\/p>\n<h2>Ziel des Artikels<\/h2>\n<p>Die Daten aus reflexiven Tabellen lassen sich auf verschiedene Arten darstellen. Wenn Sie die Hierarchie &uuml;bersichtlich anzeigen und auch die M&ouml;glichkeit bieten wollen, die Daten zu verwalten, bietet sich ein TreeView-Steuerelement f&uuml;r diesen Zweck an. Hier k&ouml;nnen Sie untergeordnete Elemente ein- und ausklappen, Elemente hinzuf&uuml;gen, entfernen, umbenennen oder verschieben. Wie das geht, zeigt der Artikel <b>Kategorien im TreeView verwalten<\/b>.<\/p>\n<p>Sie k&ouml;nnen aber auch ein Listenfeld oder ein Kombinationsfeld verwenden, um die Daten der reflexiven Beziehung darzustellen. Im einfachsten Fall zeigen Sie dann einfach nur die Namen der jeweiligen Kategorien an. Da das Kombinations- oder Listenfeld einfach nur der Auswahl der Kategorie dienen soll, reicht das in vielen F&auml;llen schon aus.<\/p>\n<h2>Zuordnung zu Artikeln<\/h2>\n<p>Zu Beispielzwecken f&uuml;gen wir noch eine Tabelle namens <b>tblArtikel <\/b>hinzu, wobei sich diese Tabelle diesmal nicht auf Artikel im Sinne von Produkten, sondern von Zeitschriftenartikeln bezieht. Diese Tabelle sieht in der Entwurfsansicht wie in Bild 2 aus. Das Fremdschl&uuml;sselfeld <b>KategorieID <\/b>zur Auswahl der Kategorie, zu der ein Artikel geh&ouml;rt, haben wir wie &uuml;blich eingerichtet &#8211; also ohne Ber&uuml;cksichtigung der reflexiven Beziehung.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_474_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_474_002.png\" alt=\"Tabelle, der die Kategorien per Fremdschl&uuml;sselfeld zugewiesen werden\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Tabelle, der die Kategorien per Fremdschl&uuml;sselfeld zugewiesen werden<\/p>\n<h2>Formular zur Anzeige der Artikel<\/h2>\n<p>Das Formular <b>frmArtikelDetail <\/b>zeigt jeweils einen Artikel in der Detailansicht an. Dazu geh&ouml;rt auch das Kombinationsfeld <b>KategorieID<\/b> (siehe Bild 3). Wir haben die Tabelle <b>tblArtikel <\/b>als Datensatzquelle des Formulars angegeben und alle Felder aus der Feldliste in den Detailbereich gezogen. Das Fremdschl&uuml;sselfeld <b>KategorieID<\/b>, das wir in der Tabelle als Nachschlagefeld definiert haben, wird hier automatisch als Kombinationsfeld angelegt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_474_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_474_003.png\" alt=\"Formular zur Darstellung der Artikel mit Auswahl der Kategorie\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Formular zur Darstellung der Artikel mit Auswahl der Kategorie<\/p>\n<p>Wenn wir nun in die Formularansicht wechseln und dort das Kombinationsfeld aufklappen, finden wir die Auswahl aus Bild 4 vor. Das sieht nur auf den ersten Blick gut aus, denn wir haben Kategorien teilweise mehrfach angelegt. Warum das Weil wir eine Hierarchie haben, wo Kategorien in verschiedenen Kontexten vorkommen. So geh&ouml;rt beispielsweise <b>Datenauswahl <\/b>einmal zur &uuml;bergeordneten Kategorie <b>ADO <\/b>und einmal zu <b>DAO<\/b>. Hier wird nun also deutlich, dass wir mehr brauchen als nur die letzte Kategorie des jeweiligen Hierarchiezweiges. Wie bekommen wir das hin Eine M&ouml;glichkeit haben wir bereits im Artikel <b>Reflexive Daten in Abfragen <\/b>beschrieben.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_474_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_474_004.png\" alt=\"Auswahl der Kategorien\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Auswahl der Kategorien<\/p>\n<h2>Kategorien samt &uuml;bergeordneten Kategorien anzeigen<\/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\/55000474\/\">\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\/55000474?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\/55000474\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"34aae43e8a\"\/>\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>Ein Beispiel f&uuml;r Daten, die aus reflexiv verkn&uuml;pften Tabellen stammen und die &uuml;ber ein Kombinationsfeld ausw&auml;hlbar sein sollen, sind Kategorien. Diese verwalten Sie typischerweise &uuml;ber ein TreeView-Steuerelement. Aber wenn Sie einem Element eine dieser Kategorien zuweisen wollen, steht zum Beispiel aus Platzgr&uuml;nden vielleicht nur ein Kombinationsfeld zur Auswahl zur Verf&uuml;gung. Wir zeigen zwei M&ouml;glichkeiten, mit denen Sie die Daten aus reflexiv verkn&uuml;pften Tabellen in einem Kombinationsfeld anzeigen k&ouml;nnen.<\/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":[66012020,662020,44000012],"tags":[],"class_list":["post-55000474","post","type-post","status-publish","format-standard","hentry","category-66012020","category-662020","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>Kombinationsfeld mit reflexiven Daten - Access [basics]<\/title>\n<meta name=\"description\" content=\"Ein Beispiel f\u00fcr Daten, die aus reflexiv verkn\u00fcpften Tabellen stammen und die \u00fcber ein Kombinationsfeld ausw\u00e4hlbar sein sollen, sind Kategorien. Diese verwalten Sie typischerweise \u00fcber ein TreeView-Steuerelement. Aber wenn Sie einem Element eine dieser Kategorien zuweisen wollen, steht zum Beispiel aus Platzgr\u00fcnden vielleicht nur ein Kombinationsfeld zur Auswahl zur Verf\u00fcgung. Wir zeigen zwei M\u00f6glichkeiten, mit denen Sie die Daten aus reflexiv verkn\u00fcpften Tabellen in einem Kombinationsfeld anzeigen k\u00f6nnen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kombinationsfeld mit reflexiven Daten - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Ein Beispiel f\u00fcr Daten, die aus reflexiv verkn\u00fcpften Tabellen stammen und die \u00fcber ein Kombinationsfeld ausw\u00e4hlbar sein sollen, sind Kategorien. Diese verwalten Sie typischerweise \u00fcber ein TreeView-Steuerelement. Aber wenn Sie einem Element eine dieser Kategorien zuweisen wollen, steht zum Beispiel aus Platzgr\u00fcnden vielleicht nur ein Kombinationsfeld zur Auswahl zur Verf\u00fcgung. Wir zeigen zwei M\u00f6glichkeiten, mit denen Sie die Daten aus reflexiv verkn\u00fcpften Tabellen in einem Kombinationsfeld anzeigen k\u00f6nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-03T10:46:02+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_474_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=\"8\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\/Kombinationsfeld_mit_reflexiven_Daten.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_474_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html\",\"name\":\"Kombinationsfeld mit reflexiven Daten - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html#primaryimage\"},\"datePublished\":\"2020-07-03T10:46:02+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Ein Beispiel f\\u00fcr Daten, die aus reflexiv verkn\\u00fcpften Tabellen stammen und die \\u00fcber ein Kombinationsfeld ausw\\u00e4hlbar sein sollen, sind Kategorien. Diese verwalten Sie typischerweise \\u00fcber ein TreeView-Steuerelement. Aber wenn Sie einem Element eine dieser Kategorien zuweisen wollen, steht zum Beispiel aus Platzgr\\u00fcnden vielleicht nur ein Kombinationsfeld zur Auswahl zur Verf\\u00fcgung. Wir zeigen zwei M\\u00f6glichkeiten, mit denen Sie die Daten aus reflexiv verkn\\u00fcpften Tabellen in einem Kombinationsfeld anzeigen k\\u00f6nnen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.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\/Kombinationsfeld_mit_reflexiven_Daten.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Kombinationsfeld_mit_reflexiven_Daten.html\",\"name\":\"Kombinationsfeld mit reflexiven Daten\"}}]},{\"@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\/55000474","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=55000474"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000474\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}