{"id":55000139,"date":"2013-08-01T00:00:00","date_gmt":"2020-01-24T15:58:16","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=139"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Synchrone_Unterformulare","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html","title":{"rendered":"Synchrone Unterformulare"},"content":{"rendered":"<p class='introduction'>Es kommt oft vor, dass ein Unterformular Daten anzeigen soll, die mit dem im Hauptformular angezeigten Datensatz in Beziehung stehen. Dies geschieht beispielsweise, wenn das Hauptformular Kunden und das Unterformular die dem Kunden zugeordneten Projekte anzeigt. Es geht jedoch auch noch eine Stufe weiter: Dann soll ein Unterformular Daten in Abh&auml;ngigkeit vom Hauptformular anzeigen und ein weiteres Daten, die vom aktuellen Datensatz des Unterformulars abh&auml;ngen. Wie Sie dies bewerkstelligen, zeigt dieser Artikel.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1210_SynchroneUnterformulare.mdb<\/b>.<\/p>\n<h2>Beispieldaten<\/h2>\n<p>Als Beispieldaten verwendet dieser Artikel die Tabellen der S&uuml;dsturm-Datenbank, einer abgewandelten Variante der Nordwind-Datenbank. Bild 1 zeigt alle Tabellen, deren Daten im Beispielformular angezeigt werden sollen. Das Hauptformular soll dabei die Kundendaten aus der Tabelle <b>tblKunden <\/b>liefern und dabei jeweils einen Datensatz anzeigen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_139_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_139_002.png\" alt=\"Diese Tabellen sollen im Formular angezeigt werden.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Diese Tabellen sollen im Formular angezeigt werden.<\/p>\n<p>Ein erstes Unterformular zeigt alle Datens&auml;tze der Tabelle <b>tblBestellungen <\/b>an, die zum aktuell im Hauptformular angezeigten Datensatz der Tabelle <b>tblKunden <\/b>passen, deren Fremdschl&uuml;sselfeld <b>KundeID <\/b>also den Wert des Feldes <b>KundeID <\/b>des Hauptformulars enth&auml;lt.<\/p>\n<p>Au&szlig;erdem wollen wir noch die Bestelldetails zur jeweils im ersten Unterformular ausgew&auml;hlten Bestellung sehen, und zwar in einem zweiten Unterformular.<\/p>\n<p>Dieses zeigt prinzipiell nur Daten der Tabelle <b>tblBestelldetails <\/b>an, wobei das Nachschlagefeld <b>ArtikelID <\/b>seine angezeigten Daten  (hier den Artikelnamen) aus der Tabelle <b>tblArtikel <\/b>bezieht.<\/p>\n<h2>Hauptformular frmSynchroneUnterformulare<\/h2>\n<p>Das Hauptformular wird in der Formularansicht als Standardansicht angezeigt. Es verwendet die Tabelle <b>tblKunden <\/b>als Datenherkunft, wobei wir der &uuml;bersicht halber nur einige wenige Felder dieser Tabelle im Entwurf platzieren (siehe Bild 2).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_139_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_139_001.png\" alt=\"Ausgangsbasis: Das Formular frmSynchroneUnterformulare mit Daten aus der Tabelle tblKunden\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Ausgangsbasis: Das Formular frmSynchroneUnterformulare mit Daten aus der Tabelle tblKunden<\/p>\n<h2>Unterformular sfmBestellungen<\/h2>\n<p>Das Unterformular zur Anzeige der Bestellungen soll <b>sfmBestellungen <\/b>hei&szlig;en. Es verwendet die Tabelle <b>tblBestellungen <\/b>als Datenherkunft. F&uuml;gen Sie etwa die Felder <b>BestellungID<\/b>, <b>PersonalID<\/b>, <b>Bestelldatum <\/b>und <b>Lieferdatum <\/b>zum Detailbereich des Formularentwurfs hinzu (siehe Bild 3). Stellen Sie au&szlig;erdem die Eigenschaft <b>Standardansicht <\/b>auf den Wert <b>Datenblatt <\/b>ein, damit das Formular die Daten in tabellarischer Form anzeigt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_139_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_139_003.png\" alt=\"Das erste Unterformular zeigt die Daten der Tabelle tblBestellungen an.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Das erste Unterformular zeigt die Daten der Tabelle tblBestellungen an.<\/p>\n<p>Schlie&szlig;en Sie das Unterformular und vergeben Sie beim Speichern den Namen <b>sfmBestellungen<\/b>. &ouml;ffnen Sie das Hauptformular <b>frmSynchroneUnterformular <\/b>in der Entwurfsansicht und ziehen Sie den Eintrag <b>sfmBestellungen <\/b>aus dem Datenbankfenster (bis Access 2003) beziehungsweise dem Navigationsbereich (ab Access 2007) in den Entwurf des Formulars <b>frmSynchroneUnterformulare<\/b>.<\/p>\n<p>Das Ergebnis sieht schlie&szlig;lich wie in Bild 4 aus. Das Formular <b>sfmBestellungen<\/b> wird in ein Unterformular-Steuerelement eingebettet und wird in der Entwurfsansicht innerhalb des Hauptformulars angezeigt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_139_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_139_004.png\" alt=\"Einbau des ersten Unterformulars\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Einbau des ersten Unterformulars<\/p>\n<p>Wichtig ist an dieser Stelle, dass das Eigenschaftsfenster f&uuml;r das Unterformular-Steuerelement die beiden Eigenschaften <b>Verkn&uuml;pfen von <\/b>und <b>Verkn&uuml;pfen nach <\/b>automatisch mit dem Aus-druck <b>KundeID <\/b>gef&uuml;llt wird. Die Eigenschaften des Unter-for-mular-Steuerelements wer-den gern mit denen des im Unterformular-Steuerele-ment enthaltenen Formulars verwechselt. Damit Sie gleich die richtigen Eigenschaften pr&uuml;fen k&ouml;nnen, klicken Sie an einer beliebigen Stelle in das Hauptformular (nur nicht auf das Unterformular) und w&auml;hlen dann aus dem Kombinationsfeld mit der Liste der Elemente im Eigenschaftsfenster den Eintrag aus, der mit dem Namen des eingef&uuml;gten Unterformulars &uuml;bereinstimmt (hier <b>sfmBestellungen<\/b>). Nach der Auswahl erscheinen auf der Registerseite <b>Daten <\/b>die gew&uuml;nschten Eigenschaften.<\/p>\n<p>Access hat hier automatisch erkannt, dass das Unterformular ein Fremdschl&uuml;sselfeld enth&auml;lt, dass mit dem im Hauptformular enthaltenen Prim&auml;rschl&uuml;sselfeld verkn&uuml;pft ist und eine entsprechende Abh&auml;ngigkeit zwischen Haupt- und Unterformular hergestellt. Ein Wechsel in die Formularansicht zeigt, dass nur die zum jeweiligen Kunden passenden Datens&auml;tze der Tabelle <b>tblBestellungen <\/b>angezeigt werden (siehe Bild 5).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_139_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_139_005.png\" alt=\"Haupt- und Unterformular in Aktion\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Haupt- und Unterformular in Aktion<\/p>\n<h2>Unterformulare synchronisieren<\/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\/55000139\/\">\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\/55000139?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\/55000139\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"a4912ba1e1\"\/>\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>Es kommt oft vor, dass ein Unterformular Daten anzeigen soll, die mit dem im Hauptformular angezeigten Datensatz in Beziehung stehen. Dies geschieht beispielsweise, wenn das Hauptformular Kunden und das Unterformular die dem Kunden zugeordneten Projekte anzeigt. Es geht jedoch auch noch eine Stufe weiter: Dann soll ein Unterformular Daten in Abh&auml;ngigkeit vom Hauptformular anzeigen und ein weiteres Daten, die vom aktuellen Datensatz des Unterformulars abh&auml;ngen. Wie Sie dies bewerkstelligen, zeigt dieser Artikel.<\/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":[66102012,662012,44000004],"tags":[],"class_list":["post-55000139","post","type-post","status-publish","format-standard","hentry","category-66102012","category-662012","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>Synchrone Unterformulare - Access [basics]<\/title>\n<meta name=\"description\" content=\"Es kommt oft vor, dass ein Unterformular Daten anzeigen soll, die mit dem im Hauptformular angezeigten Datensatz in Beziehung stehen. Dies geschieht beispielsweise, wenn das Hauptformular Kunden und das Unterformular die dem Kunden zugeordneten Projekte anzeigt. Es geht jedoch auch noch eine Stufe weiter: Dann soll ein Unterformular Daten in Abh\u00e4ngigkeit vom Hauptformular anzeigen und ein weiteres Daten, die vom aktuellen Datensatz des Unterformulars abh\u00e4ngen. Wie Sie dies bewerkstelligen, zeigt dieser Artikel.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Synchrone Unterformulare - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Es kommt oft vor, dass ein Unterformular Daten anzeigen soll, die mit dem im Hauptformular angezeigten Datensatz in Beziehung stehen. Dies geschieht beispielsweise, wenn das Hauptformular Kunden und das Unterformular die dem Kunden zugeordneten Projekte anzeigt. Es geht jedoch auch noch eine Stufe weiter: Dann soll ein Unterformular Daten in Abh\u00e4ngigkeit vom Hauptformular anzeigen und ein weiteres Daten, die vom aktuellen Datensatz des Unterformulars abh\u00e4ngen. Wie Sie dies bewerkstelligen, zeigt dieser Artikel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58: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_139_002.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=\"9\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\/Synchrone_Unterformulare.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_139_002.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html\",\"name\":\"Synchrone Unterformulare - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:58:16+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Es kommt oft vor, dass ein Unterformular Daten anzeigen soll, die mit dem im Hauptformular angezeigten Datensatz in Beziehung stehen. Dies geschieht beispielsweise, wenn das Hauptformular Kunden und das Unterformular die dem Kunden zugeordneten Projekte anzeigt. Es geht jedoch auch noch eine Stufe weiter: Dann soll ein Unterformular Daten in Abh\\u00e4ngigkeit vom Hauptformular anzeigen und ein weiteres Daten, die vom aktuellen Datensatz des Unterformulars abh\\u00e4ngen. Wie Sie dies bewerkstelligen, zeigt dieser Artikel.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.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\/Synchrone_Unterformulare.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Synchrone_Unterformulare.html\",\"name\":\"Synchrone Unterformulare\"}}]},{\"@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\/55000139","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=55000139"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000139\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}