{"id":55000074,"date":"2012-04-01T00:00:00","date_gmt":"2020-01-24T15:57:54","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=74"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Datensaetze_in_Unterformularen_anlegen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html","title":{"rendered":"Datens&auml;tze in Unterformularen anlegen"},"content":{"rendered":"<p class='introduction'>Wie Sie Haupt- und Unterformulare zur Darstellung und Bearbeitung von Daten aus Tabellen mit 1:n-Beziehung erstellen, lesen Sie in jedem Grundlagenbuch und auf jeder halbwegs relevanten Internetseite zum Thema Access. Dass der Benutzer bei der Dateneingabe jedoch leicht auf die Nase fallen kann, lassen die meisten au&szlig;er acht: Wer n&auml;mlich ohne Datensatz im Hauptformular Daten in das Unterformular eingibt, schickt seine Datens&auml;tze ins Beziehungsnirvana. Dieser Artikel zeigt, wie Sie dies verhindern.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispieldatenbank zu diesem Artikel hei&szlig;t <b>11_08_DatensaetzeInUnterformularen.mdb<\/b>.<\/p>\n<h2>Problem beim Eingeben von Daten in Unterformularen<\/h2>\n<p>Wenn Sie zwei Tabellen namens <b>tblKunden <\/b>und <b>tblProjekte <\/b>verwenden, bei der die Datens&auml;tze der Tabelle <b>tblProjekte <\/b>&uuml;ber das Fremdschl&uuml;sselfeld  <b>KundeID <\/b>mit dem Prim&auml;rschl&uuml;sselfeld der Tabelle <b>tblKunden <\/b>verkn&uuml;pft sind, sieht die Vorgehensweise zum Anzeigen dieser Daten in zwei Formularen namens <b>frmKunden <\/b>und <b>sfmProjekte <\/b>so aus:<\/p>\n<ul>\n<li>Sie legen ein Hauptformular namens <b>frmKunden <\/b>an, dass auf einer Tabelle wie <b>tblKunden <\/b>als Datenherkunft basiert und deren Felder anzeigt.<\/li>\n<li>Sie erstellen ein Formular namens <b>sfmProjekte<\/b>, dass die Tabelle <b>tblProjekte <\/b>als Datenherkunft nutzt.<\/li>\n<li>Sie f&uuml;gen das Formular <b>sfmProjekte <\/b>als Unterformular in das Hauptforular <b>frmKunden <\/b>ein. Dabei stellt Access normalerweise direkt die beiden Eigenschaften <b>Verkn&uuml;pfen von <\/b>und <b>Verkn&uuml;pfen nach <\/b>des Unterformularsteuerelements so ein, dass das Unterformular nur die Projekte zum jeweiligen Kunden des Hauptformulars anzeigt (siehe Bild 1). Beim Anlegen neuer Projekte im Unterformular wird das Fremdschl&uuml;sselfeld <b>KundeID <\/b>der Tabelle <b>tblProjekte <\/b>gleich mit dem Prim&auml;rschl&uuml;sselwert des Datensatzes gef&uuml;llt, der im Hauptformular angezeigt wird.<\/li>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_74_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_74_001.png\" alt=\"Normalerweise zeigt das Unterformular die verkn&uuml;pften Datens&auml;tze an.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Normalerweise zeigt das Unterformular die verkn&uuml;pften Datens&auml;tze an.<\/p>\n<\/ul>\n<p>Dies reicht auch normalerweise v&ouml;llig aus, um verkn&uuml;pfte Daten per Haupt- und Unterformular einzugeben. Dummerweise aber kann es auch passieren, dass der Benutzer erst ein Projekt eintr&auml;gt und erst dann die Kundendaten. Dazu springt er zun&auml;chst auf einen leeren Kundendatensatz (oder er arbeitet mit einer neuen, leeren Datenbank &#8211; dann gibt es ohnehin noch keinen Kundendatensatz). Er tr&auml;gt im Unterformular das Projekt ein (siehe Bild 2), wechselt dann zum Hauptformular und legt einen Kunden an. Das sieht auf den ersten Blick sogar noch gut aus.  Sobald Access jedoch merkt, dass da ein neuer Datensatz angelegt werden soll (in der Regel direkt nach der Eingabe des ersten Zeichens), verschwindet der Projektdatensatz aus dem Unterformular! Was geschieht hier Nun: Durch das Einstellen der beiden Eigenschaften <b>Verkn&uuml;pfen von <\/b>und <b>Verkn&uuml;pfen nach <\/b>des Unterformular-Steuerelements legen Sie zwei Dinge fest:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_74_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_74_002.png\" alt=\"Was aber, wenn man ein Projekt eingibt, ohne dass das Hauptformular einen Kunden anzeigt\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Was aber, wenn man ein Projekt eingibt, ohne dass das Hauptformular einen Kunden anzeigt<\/p>\n<ul>\n<li>Das Unterformular soll nur Datens&auml;tze anzeigen, die mit dem Datensatz des Hauptformulars verkn&uuml;pft sind.<\/li>\n<li>Beim Anlegen neuer Datens&auml;tze soll das Fremdschl&uuml;sselfeld im Unterformular automatisch mit dem aktuellen Prim&auml;rschl&uuml;sselwert im Hauptformular gef&uuml;llt werden.<\/li>\n<\/ul>\n<p>Gerade Letzteres f&uuml;hrt dazu, dass neue Datens&auml;tze im Unterformular, hier also Projekte, gleich dem im Hauptformular angezeigten Kunden zugeordnet werden k&ouml;nnen. Wenn das Hauptformular jedoch keinen Datensatz anzeigt, lautet der Wert des Prim&auml;rschl&uuml;sselfeldes <b>NULL<\/b>. Wenn Sie nun einen neuen Datensatz im Unterformular anlegen, stellt Access den Wert des f&uuml;r die Eigenschaft <b>Verkn&uuml;pfen von <\/b>angegebenen Feldes automatisch ebenfalls auf diesen Wert ein.<\/p>\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\/55000074\/\">\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\/55000074?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\/55000074\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"771f142a70\"\/>\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>Wie Sie Haupt- und Unterformulare zur Darstellung und Bearbeitung von Daten aus Tabellen mit 1:n-Beziehung erstellen, lesen Sie in jedem Grundlagenbuch und auf jeder halbwegs relevanten Internetseite zum Thema Access. Dass der Benutzer bei der Dateneingabe jedoch leicht auf die Nase fallen kann, lassen die meisten au&szlig;er acht: Wer n&auml;mlich ohne Datensatz im Hauptformular Daten in das Unterformular eingibt, schickt seine Datens&auml;tze ins Beziehungsnirvana. Dieser Artikel zeigt, wie Sie dies verhindern.<\/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":[662011,66082011,44000004],"tags":[],"class_list":["post-55000074","post","type-post","status-publish","format-standard","hentry","category-662011","category-66082011","category-Formulare_fuer_die_Dateneingabe"],"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>Datens&auml;tze in Unterformularen anlegen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Wie Sie Haupt- und Unterformulare zur Darstellung und Bearbeitung von Daten aus Tabellen mit 1:n-Beziehung erstellen, lesen Sie in jedem Grundlagenbuch und auf jeder halbwegs relevanten Internetseite zum Thema Access. Dass der Benutzer bei der Dateneingabe jedoch leicht auf die Nase fallen kann, lassen die meisten au\u00dfer acht: Wer n\u00e4mlich ohne Datensatz im Hauptformular Daten in das Unterformular eingibt, schickt seine Datens\u00e4tze ins Beziehungsnirvana. Dieser Artikel zeigt, wie Sie dies verhindern.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Datens&auml;tze in Unterformularen anlegen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Wie Sie Haupt- und Unterformulare zur Darstellung und Bearbeitung von Daten aus Tabellen mit 1:n-Beziehung erstellen, lesen Sie in jedem Grundlagenbuch und auf jeder halbwegs relevanten Internetseite zum Thema Access. Dass der Benutzer bei der Dateneingabe jedoch leicht auf die Nase fallen kann, lassen die meisten au\u00dfer acht: Wer n\u00e4mlich ohne Datensatz im Hauptformular Daten in das Unterformular eingibt, schickt seine Datens\u00e4tze ins Beziehungsnirvana. Dieser Artikel zeigt, wie Sie dies verhindern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:57:54+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_74_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=\"7\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\/Datensaetze_in_Unterformularen_anlegen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_74_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html\",\"name\":\"Datens&auml;tze in Unterformularen anlegen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:57:54+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Wie Sie Haupt- und Unterformulare zur Darstellung und Bearbeitung von Daten aus Tabellen mit 1:n-Beziehung erstellen, lesen Sie in jedem Grundlagenbuch und auf jeder halbwegs relevanten Internetseite zum Thema Access. Dass der Benutzer bei der Dateneingabe jedoch leicht auf die Nase fallen kann, lassen die meisten au\\u00dfer acht: Wer n\\u00e4mlich ohne Datensatz im Hauptformular Daten in das Unterformular eingibt, schickt seine Datens\\u00e4tze ins Beziehungsnirvana. Dieser Artikel zeigt, wie Sie dies verhindern.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.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\/Datensaetze_in_Unterformularen_anlegen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Datensaetze_in_Unterformularen_anlegen.html\",\"name\":\"Datens&auml;tze in Unterformularen anlegen\"}}]},{\"@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\/55000074","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=55000074"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000074\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}