{"id":55000261,"date":"2005-02-01T00:00:00","date_gmt":"2020-05-06T15:17:54","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=261"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Konsistente_Dateneingabe_in_Unterformulare","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/","title":{"rendered":"Konsistente Dateneingabe in Unterformulare"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Unterformulare werden meist in Zusammenhang mit der Darstellung von 1:n- oder m:n-Beziehungen verwendet. Dabei sind allzu schnell mit dem Unterformular Datens&auml;tze in die Detailtabelle geschrieben, obwohl es gar keinen Masterdatensatz gibt &#8211; und der Benutzer darf sich entweder mit den Access-Fehlermeldungen herumschlagen oder Inkonsistenzen in Kauf nehmen. Allein die Festlegung referentieller Integrit&auml;t reicht hier nicht aus, um eine fehlerfreie Dateneingabe zu gew&auml;hrleisten; dazu sind einige zus&auml;tzliche Handgriffe erforderlich.<\/b><\/p>\n<p>Damit Sie die im folgenden Kapitel beschriebenen Hintergr&uuml;nde nachvollziehen k&ouml;nnen, legen Sie am besten zuvor das Beispielformular an &#8211; Sie m&uuml;ssen dazu nur zwei Tabellen der Nordwind-Datenbank importieren und mit einem Assistenten eine Kombination aus Haupt- und Unterformular erstellen.<\/p>\n<p><IMG height=\"295\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Kategorien und Artikel in Haupt- und Unterformular<\/span><\/b><\/p>\n<p>Das Beispielformular enth&auml;lt die beiden Tabellen Artikel und Kategorien der Nordwind-Datenbank. Das Formular erstellen Sie ausnahmsweise mit dem Assistenten:<\/p>\n<li>Klicken Sie auf der Registerseite Formular des Datenbankfensters auf den Eintrag Erstellt ein Formular unter Verwendung des Assistenten.<\/li>\n<li>W&auml;hlen Sie die Tabelle Artikel aus und bef&ouml;rdern Sie alle Felder mit der entsprechenden Schaltfl&auml;che in das rechte Listenfeld.<\/li>\n<li>Gehen Sie genauso mit der Tabelle Kategorien vor und klicken Sie auf die Schaltfl&auml;che Weiter.<\/li>\n<li>Beantworten Sie die Frage &#8222;Wie sollen Ihre Daten angezeigt werden&#8220; mit &#8222;nach Kategorien&#8220;. Wenn in der rechten Abbildung ein symbolisches Formular mit Unterformular erscheint und darunter die Option Formular mit Unterformular(en) aktiviert ist, k&ouml;nnen Sie bereits auf Fertig stellen klicken. (<\/li>\n<p>Der Assistent legt nun ein Formular namens Kategorien mit einem Unterformular an, das er unter dem Namen Artikel Unterformular speichert und direkt anzeigt (siehe Bild 1). Das Formular l&auml;sst sich optisch sicher noch verbessern, reicht aber f&uuml;r unseren Zweck v&ouml;llig aus.<\/p>\n<p>Dieses Formular verwenden Sie hier stellvertretend f&uuml;r alle Formulare, die dem Anzeigen und Bearbeiten von 1:n- oder m:n-Beziehungen dienen. Die nachfolgend beschriebenen Probleme treten in beiden Varianten auf.<\/p>\n<p>Die Verwendung von Unterformularen als Steuerelement in Formularen dient in den meisten F&auml;llen der Anzeige und Bearbeitung von Daten aus zwei miteinander verkn&uuml;pften Tabellen. Dabei treten zwei F&auml;lle auf:<\/p>\n<li>Das Hauptformular zeigt die Daten der Mastertabelle und das Unterformular die Daten der Detailtabelle an.<\/li>\n<li>Das Hauptformular zeigt die Daten der einen Seite einer m:n-Beziehung an und das Unterformular eine Abfrage mit den Daten der anderen Seite der Beziehung und den entsprechenden Datens&auml;tzen der Verkn&uuml;pfungstabelle.<\/li>\n<p>In beiden F&auml;llen sind einige Regeln f&uuml;r die Dateneingabe zu beachten. So ist es beispielsweise mit dem &uuml;blicherweise unter Access als Prim&auml;rindex verwendeten Autowert nicht m&ouml;glich, Daten in eine Detailtabelle einzutragen, wenn in der Mastertabelle kein entsprechender Datensatz vorliegt. Das funktioniert nur in dem Fall, dass f&uuml;r die Beziehung zwischen den beiden Tabellen keine referentielle Integrit&auml;t festgelegt ist.<\/p>\n<p>Der Verzicht auf Festlegung dieser Eigenschaft ist aber nur in wenigen F&auml;llen akzeptabel, in allen anderen hei&szlig;t es: Wo keine referentielle Integrit&auml;t festgelegt ist, herrschen bald Redundanzen und Inkonsistenz.<\/p>\n<p>Wenn Sie aber nun vern&uuml;nftigerweise referentielle Integrit&auml;t zwischen den betroffenen Tabellen festgelegt haben (au&szlig;er nat&uuml;rlich, Sie haben einen guten Grund, davon abzusehen), k&ouml;nnen bei der Eingabe f&uuml;r den Benutzer unangenehme Probleme auftauchen &#8211; und zwar immer, wenn man Daten im Unterformular eintr&auml;gt, ohne dass zuvor ein Datensatz im Hauptformular angelegt wurde. Einen Unterschied gibt es dabei in Abh&auml;ngigkeit davon, ob Sie f&uuml;r das Fremdschl&uuml;sselfeld der Datenherkunft des Unterformulars Nullwerte zulassen oder nicht.<\/p>\n<p>Gehen wir doch einmal die unterschiedlichen Konstellationen bei der Eingabe von Daten in einem Unterformular durch.<\/p>\n<p>Dabei werden drei F&auml;lle unterschieden:<\/p>\n<li>Das Hauptformular enth&auml;lt einen Datensatz, dessen Prim&auml;rschl&uuml;sselwert automatisch in neuen Datens&auml;tzen des Unterformulars als Fremdschl&uuml;sselwert eingetragen wird.<\/li>\n<li>Das Hauptformular enth&auml;lt keinen Datensatz und das verkn&uuml;pfte Fremdschl&uuml;sselfeld des Unterformulars erlaubt Nullwerte.<\/li>\n<li>Das Hauptformular enth&auml;lt keinen Datensatz und das verkn&uuml;pfte Fremdschl&uuml;sselfeld erlaubt keine Nullwerte.<\/li>\n<h2>Keine Probleme mit Datensatz im Hauptformular<\/h2>\n<p>Wenn Sie vor dem Anlegen von Datens&auml;tzen im Unterformular einen Datensatz im Hauptformular angelegt haben, k&ouml;nnen Sie anschlie&szlig;end beliebig viele Datens&auml;tze im Unterformular anlegen. Wenn die beiden Eigenschaften Verkn&uuml;pfen von und Verkn&uuml;pfen nach des Unterformularsteuerelements die Namen des Prim&auml;rschl&uuml;sselfelds der Datenherkunft des Hauptformulars und des Fremdschl&uuml;sselfelds des Unterformulars enthalten, ist dieser Wert im Haupt- und Unterformular bereits voreingestellt.<\/p>\n<p>Wichtig: Verkn&uuml;pfen von und Verkn&uuml;pfen nach sind keine Eigenschaften des Formulars, das Sie als Unterformular verwenden, sondern des Steuerelements, in dem Sie es platzieren!<\/p>\n<p><IMG height=\"295\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Access aktualisiert das Fremdschl&uuml;sselfeld des Unterformulars automatisch.<\/span><\/b><\/p>\n<p><IMG height=\"307\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic003.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Ein neuer Datensatz im Hauptformular<\/span><\/b><\/p>\n<p><IMG height=\"295\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Einf&uuml;gen eines Detaildatensatzes ohne Bezug zur Mastertabelle<\/span><\/b><\/p>\n<p>Dass die Voreinstellung funktioniert, k&ouml;nnen Sie schnell nachvollziehen: &ouml;ffnen Sie einfach das Beispielformular und klicken Sie bei vorhandener Kategorie im Hauptformular auf die Schaltfl&auml;che f&uuml;r das Anlegen eines neuen Datensatzes im Unterformular. Sollte das Feld Kategorie des Unterformulars nicht direkt sichtbar sein, scrollen Sie einfach dorthin &#8211; das Feld enth&auml;lt automatisch die im Hauptformular eingestellte Kategorie (siehe Bild 2).<\/p>\n<h2>Vorsicht: Nullwerte erlaubt!<\/h2>\n<p>Erst wenn Sie einen Datensatz im Unterformular anlegen, ohne dass das Hauptformular einen Masterdatensatz anzeigt, auf den sich der Datensatz im Unterformular bezieht, wird es kritisch:<\/p>\n<p>Verwenden Sie einfach das Beispielformular, um diesen Fall nachzuvollziehen. Wechseln Sie im Hauptformular auf einen neuen Datensatz, aber geben Sie dort noch keine Daten ein &#8211; die Schaltfl&auml;che f&uuml;r das Springen zu einem neuen Datensatz ist nun deaktiviert (siehe Bild 3).<\/p>\n<p>Wechseln Sie nun ins Unterformular und geben Sie dort Beispieldaten ein. Das funktioniert zun&auml;chst ohne sichtliche Probleme. Diese folgen aber schneller, als man denkt: Access speichert die eingegebenen Daten ohne Murren, ohne diese mit einem Datensatz des Hauptformulars zu verkn&uuml;pfen. Abb. 4 veranschaulicht das: Der erste Datensatz im Unterformular enth&auml;lt keine Kategorie und l&auml;sst sich dennoch speichern &#8211; anderenfalls h&auml;tte Access beim Wechsel zu einem neuen Datensatz eine Fehlermeldung angezeigt.<\/p>\n<p><!--30percent--><\/p>\n<p>M&ouml;glicherweise rufen Sie jetzt: &#8222;Halt! Hier ist doch referentielle Integrit&auml;t festgelegt, Access darf den Datensatz doch gar nicht speichern!&#8220; Aber Access handelt richtig &#8211; zumindest was die Umsetzung der referentiellen Integrit&auml;t betrifft. Diese besagt n&auml;mlich (und das steht in den wenigsten Fachb&uuml;chern), dass die Festlegung referentieller Integrit&auml;t f&uuml;r eine Beziehung zwischen zwei Tabellen daf&uuml;r sorgt, dass das Fremdschl&uuml;sselfeld der Detailtabelle entweder einen der in der Mastertabelle enthaltenen Prim&auml;rschl&uuml;sselwerte oder &#8211; und das ist der springende Punkt &#8211; einen Nullwert enthalten darf. Access h&auml;lt sich an diese Regel, was mit obigem Beispiel belegt w&auml;re.<\/p>\n<p>Nun lie&szlig;e sich in diesem Beispiel die Kategorie &uuml;ber das entsprechende Feld des Unterformulars durchaus noch ausw&auml;hlen, aber das ist ja nicht der Sinn der Sache: Normalerweise sind die Fremdschl&uuml;sselfelder in Unterformularen gar nicht sichtbar, da ihr Inhalt ja bereits im Hauptformular angezeigt wird (hier hat der ansonsten t&uuml;chtige Assistent es ein wenig zu gut gemeint).<\/p>\n<p>Noch gr&ouml;&szlig;er wird das Dilemma, wenn Sie einige Daten im Unterformular eingegeben haben und dann zum Hauptformular wechseln, um die Daten des Masterdatensatzes nachzutragen.<\/p>\n<p>Mit der Eingabe des ersten Zeichens legt Access n&auml;mlich den Datensatz des Hauptformulars tempor&auml;r an und vergibt daf&uuml;r einen Prim&auml;rschl&uuml;sselwert &#8211; was sich auf die bereits eingegebenen Daten im Unterformular verheerend auswirkt:<\/p>\n<p>Die verschwinden n&auml;mlich einfach, weil der im Hauptformular angezeigte Prim&auml;rschl&uuml;sselwert ja nun einen bestimmten Wert angenommen hat, der nicht mehr mit dem Wert des Fremdschl&uuml;sselfeldes der Datenherkunft des Unterformulars vereinbar ist &#8211; n&auml;mlich dem Nullwert.<\/p>\n<p>Die zuvor eingegebenen Daten des Unterformulars sind somit &uuml;ber das Formular nicht mehr erreichbar und k&ouml;nnen nur noch direkt in der Tabelle ge&auml;ndert werden.<\/p>\n<h2>Nullwerte verboten<\/h2>\n<p>Wem bekannt ist, dass referentielle Integrit&auml;t auch Nullwerte als Fremdschl&uuml;ssel zul&auml;sst, baut vor: Bereits im Tabellenentwurf l&auml;sst sich festlegen, dass f&uuml;r ein Feld in jedem Fall ein Wert eingegeben werden muss. Nur f&uuml;hrt das im vorliegenden Fall ebenfalls zu einem Problem, denn beim Anlegen eines Datensatzes im Unterformular ohne vorhandenen Masterdatensatz erscheint eine f&uuml;r normale Anwender vermutlich nicht nachvollziehbare Fehlermeldung (siehe Bild 5). Das gilt insbesondere, da ja normalerweise &#8211; im Gegensatz zu unserem Beispielformular &#8211; die Fremdschl&uuml;sselfelder, die als Verkn&uuml;pfung zum Hauptformular dienen, nicht angezeigt werden und der Benutzer gar keinen Zugriff auf diese hat.<\/p>\n<p><IMG height=\"162\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic005.png\" width=\"420\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Fehlermeldung bei nicht erlaubtem Nullwert<\/span><\/b><\/p>\n<p>Die L&ouml;sung des Problems ist verh&auml;ltnism&auml;&szlig;ig einfach: Bringen Sie den Benutzer einfach dazu, zun&auml;chst einen Datensatz im Hauptformular anzulegen und sich erst dann dem Unterformular zuzuwenden.<\/p>\n<p>Dazu gibt es mehrere M&ouml;glichkeiten. In jedem Fall m&uuml;ssen Sie vor dem Anlegen von Daten im Unterformular pr&uuml;fen, ob im Hauptformular bereits ein Datensatz und damit ein verwertbarer Prim&auml;rschl&uuml;ssel vorliegt.<\/p>\n<h3>Hauptformular vor dem Eintritt ins Unterformular &uuml;berpr&uuml;fen<\/h3>\n<p>Die erste M&ouml;glichkeit verwendet die Ereigniseigenschaft Beim Hingehen (englisch: On Enter), um vor dem Eintritt in das Unterformular das Vorhandensein eines Datensatzes im Hauptformular zu pr&uuml;fen.<\/p>\n<p>Die Prozedur aus Quellcode 1 sorgt daf&uuml;r, dass ein Meldungsfenster erscheint, wenn sich noch kein Datensatz im Hauptformular befindet, und setzt anschlie&szlig;end den Fokus auf das Feld Kategoriename.<\/p>\n<pre>Private Sub Artikel_Unterformular_Enter()\r\n    If Me.NewRecord Then\r\n        MsgBox \"Bitte legen Sie zun&auml;chst einen \" _            & \"Datensatz im Hauptformular an.\"\r\n        Me.Kategoriename.SetFocus\r\n        Exit Sub\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<pre>Private Sub Artikel_Unterformular_Enter()\r\n    If Nz(Me.Kategoriename, \"\") = \"\" Then\r\n        MsgBox \"Bitte geben Sie einen \" _            & \"Kategorienamen ein.\"\r\n        Me.Kategoriename.SetFocus\r\n        Exit Sub\r\n    End If\r\n    If Nz(Me.Beschreibung, \"\") = \"\" Then\r\n        MsgBox \"Bitte geben Sie eine Beschreibung ein.\"\r\n        Me.Beschreibung.SetFocus\r\n        Exit Sub\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p>Auf diesem Wege lie&szlig;e sich nat&uuml;rlich auch direkt eine Validierung einbauen, die beispielsweise Pflichtfelder &uuml;berpr&uuml;ft. Dazu &auml;ndern Sie einfach die Prozedur aus Quellcode 1 entsprechend ab und f&uuml;gen eine Abfrage der Inhalte der Pflichtfelder hinzu (s. Quellcode 2).<\/p>\n<p>Die Prozedur pr&uuml;ft die beiden Felder Kategoriename und Beschreibung auf ihren Inhalt und gibt eine entsprechende Meldung mit der Bitte um Nachbesserung aus, wenn eines der Felder noch keinen Text enth&auml;lt.<\/p>\n<h3>Neuer Masterdatensatz bei Fokus auf Unterformular<\/h3>\n<p>Es lassen sich selten alle m&ouml;glichen Schritte des Benutzers vorhersehen, die zu Fehlern f&uuml;hren k&ouml;nnten. Meist hilft es, jemanden durch eine Anwendung oder auch nur ein Formular klicken zu lassen, der nicht an der Entwicklung beteiligt ist. Auf diesem Wege kommen beil&auml;ufig Eingaben zustande, die der Entwickler selbst nicht in Erw&auml;gung zieht. Beispiel gef&auml;llig<\/p>\n<p>Das um die Prozedur aus Quellcode 2 erweiterte Beispielformular verhindert nun Eingaben im Unterformular ohne vorheriges Anlegen des Datensatzes im Hauptformular.<\/p>\n<p>In einem Fall wirkt die Aufforderung, doch zun&auml;chst einen Datensatz im Hauptformular anzulegen, ein wenig deplatziert: Zeigen Sie eine der vorhandenen Kategorien der Beispieldatenbank im Hauptformular an und wechseln Sie dann ins Unterformular &#8211; soweit kein Problem.<\/p>\n<p>Wenn Sie dann mit der entsprechenden Schaltfl&auml;che der Navigationsleiste des Hauptformulars einen neuen Datensatz darin anlegen m&ouml;chten, erscheint direkt die Bitte um die Eingabe fehlender Daten im Hauptformular &#8211; was den Benutzer verwirren d&uuml;rfte. Er hat noch gar nicht mit der Eingabe begonnen und schon gibt&#8220;s einen R&uuml;ffel<\/p>\n<p>Der Grund ist, dass Access nach einem Datensatzwechsel in Formularen immer versucht, den Fokus wieder auf das Steuerelement zu legen, das vorher den Fokus hatte &#8211; in diesem Fall das Unterformular. <\/p>\n<p>Der Fokus f&auml;llt jedoch vorher auf jeden Fall auf das Hauptformular zur&uuml;ck &#8211; und beim Versuch von Access, diesen wieder auf das Unterformular zu legen, erscheint dann die entsprechende Meldung.<\/p>\n<p>Um dem Benutzer ein wenig mehr Komfort zu bieten und ihn nicht beim Wechsel zu einem neuen Datensatz mit Vorgaben zu &auml;rgern, legen Sie eine neue Prozedur f&uuml;r die Ereigniseigenschaft Beim Anzeigen an, die den Fokus beim Anlegen eines neuen Datensatzes im Hauptformular an das Feld Kategoriename des Hauptformulars gibt (s. Quellcode 3).<\/p>\n<pre>Private Sub Form_Current()\r\n    If Me.NewRecord Then\r\n        Me.Kategoriename.SetFocus\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<h3>&#8230; oder doch erst im Unterformular<\/h3>\n<p>Vielleicht m&ouml;chten Sie dem Benutzer auch einfach die Wahl lassen, ob er zun&auml;chst Daten im Haupt- oder im Unterformular eingibt.<\/p>\n<p>Vielleicht hat er es ja mal eilig und m&ouml;chte den Datensatz des Hauptformulars erst sp&auml;ter bearbeiten Auch das ist kein Problem, soweit Sie eine eventuell notwendige Validierung vor dem Wechsel zu einem anderen Datensatz oder dem Schlie&szlig;en des Formulars durchf&uuml;hren. Es muss jedoch auf jeden Fall ein Datensatz im Hauptformular angelegt werden, da die Daten des Unterformulars sich sonst &#8211; wie bereits oben beschrieben &#8211; zumindest aus Formularsicht in die ewigen Jagdgr&uuml;nde verabschieden.<\/p>\n<p>Nun stellt sich die Frage, wie Sie das Hauptformular dazu bringen, ohne Eingabe von Daten einen Datensatz zu speichern. Die Vorgehensweise ist nicht ganz einfach; es reicht nicht aus, nur ein Requery, Refresh oder DoCmd.RunCommand acCmdSaveRecord abzusetzen.<\/p>\n<p>Ein wenig experimentieren im Formular f&uuml;hrt zu der Erkenntnis, dass Sie den Datensatz speichern k&ouml;nnen, sobald Sie den Inhalt auch nur eines der Datenfelder &auml;ndern. Das Formular zeigt dann als Datensatzmarkierer einen Bleistift an und f&uuml;gt f&uuml;r neue Datens&auml;tze einen Wert f&uuml;r das Autowert-Feld ein (siehe Bild 6). Damit ist das Formular bereit zum Speichern dieses Datensatzes.<\/p>\n<p>Auch wenn Sie die Felder durch L&ouml;schen der Inhalte wieder in den Ausgangszustand zur&uuml;ckversetzen, bleibt das Formular &#8222;schmutzig&#8220; &#8211; der im Formular angezeigte Inhalt des Datensatzes stimmt nicht mehr mit dem in der Tabelle gespeicherten Datensatz &uuml;berein. Dabei ist es unerheblich, ob der Datensatz &uuml;berhaupt schon in der Tabelle gespeichert ist oder nicht.<\/p>\n<p><IMG height=\"145\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic006.png\" width=\"294\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Bereitmachen zum Speichern!<\/span><\/b><\/p>\n<p>Da Sie dem Benutzer die M&ouml;glichkeit geben m&ouml;chten, Daten ins Unterformular einzugeben, ohne dass er vorher Daten im Hauptformular eingeben muss, nehmen Sie ihm nun die Aufgabe ab, manuell eine Eingabe im Hauptformular vorzunehmen und diese wieder r&uuml;ckg&auml;ngig zu machen (das Speichern w&uuml;rde in diesem Fall automatisch durch den Wechsel zum Unterformular erledigt).<\/p>\n<p>Das Anlegen und L&ouml;schen erfolgt durch die Prozedur aus Quellcode 4. Das Einf&uuml;gen und Entfernen einer Eingabe simuliert die Prozedur, indem sie den Fokus auf ein Datenfeld des Hauptformulars und anschlie&szlig;end die Eigenschaft Dirty auf True setzt &#8211; und das alles auch nur, wenn das Hauptformular aktuell einen neuen Datensatz enth&auml;lt.<\/p>\n<pre>Private Sub Artikel_Unterformular_Enter()\r\n    If Me.NewRecord Then\r\n        Me.Kategoriename.SetFocus\r\n        Me.Dirty = True\r\n        Me.Artikel_Unterformular.SetFocus\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<p>Durch das Verlassen des Hauptformulars wird dessen Inhalt automatisch gespeichert und der neu erzeugte Autowert steht im Hauptformular als Prim&auml;rschl&uuml;ssel und im Unterformular als Inhalt des Fremdschl&uuml;sselfeldes bereit.<\/p>\n<p>Eine weniger elegante L&ouml;sung ist das Erzwingen der Eingabe eines Wertes f&uuml;r das Fremdschl&uuml;sselfeld der Datenherkunft des Unterformulars. Im Beispiel w&uuml;rde dies bedeuten, dass Sie f&uuml;r das Feld Kategorie-Nr auf Tabellenentwurfs-Ebene festlegen, dass eine Eingabe zwingend erforderlich (siehe Bild 7).<\/p>\n<p><IMG height=\"402\" src=\"..\/fileadmin\/_temp_\/{B2A2851D-4381-466C-930B-46CF7420CAE8}\/pic007.png\" width=\"327\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Erzwingen der Eingabe f&uuml;r ein Tabellenfeld<\/span><\/b><\/p>\n<p>Damit schlie&szlig;en Sie zwar generell aus, dass Artikel-Datens&auml;tze mit einem Nullwert f&uuml;r das Feld Kategorie-Nr angelegt werden.<\/p>\n<p>Die Behandlung des Problems im Formular\/Unterformular wird dadurch nicht vereinfacht. Basierend auf dem Beispielformular im Anfangszustand l&auml;uft die Dateneingabe nun folgenderma&szlig;en ab: <\/p>\n<p>Sobald Sie Daten in eines der Felder im Unterformular eingeben, obwohl im Hauptformular kein Datensatz angelegt wurde, erscheint eine entsprechende Fehlermeldung (siehe Bild 5).<\/p>\n<p>Die Fehlermeldung resultiert in dem Fall indirekt aus dem Fehlen eines Datensatzes im Hauptformular; w&auml;re dieser vorhanden, h&auml;tte Access dessen Prim&auml;rschl&uuml;ssel in das Fremdschl&uuml;sselfeld der Datenherkunft des Unterformulars eingef&uuml;gt.<\/p>\n<p>Um den Benutzer nicht im Regen stehen zu lassen, fangen Sie diese Fehlermeldung ab und ersetzen sie durch eine ein wenig aussagekr&auml;ftigere. Das erledigen Sie durch eine entsprechende Prozedur, die durch die Ereigniseigenschaft Bei Fehler des Unterformulars ausgel&ouml;st wird.<\/p>\n<p>Die Prozedur (s. Quellcode 5) fragt zun&auml;chst die Fehlernummer ab. Wenn es sich &#8211; wie in unserem Falle &#8211; um die Fehlernummer 3314 handelt, zeigt die Prozedur ein Meldungsfenster an, macht die &auml;nderungen im Unterformular r&uuml;ckg&auml;ngig und setzt den Fokus auf das Feld Kategoriename des Hauptformulars.<\/p>\n<pre>Private Sub Form_Error(DataErr As _  Integer, Response As Integer)\r\n  If DataErr = 3314 Then\r\n    MsgBox \"Bitte legen Sie \" _      & \"zun&auml;chst einen Datensatz im \" _      & \"Hauptformular an.\"\r\n    Response = acDataErrContinue\r\n    Me.Undo\r\n    Forms!Kategorien!Kategoriename. _      SetFocus\r\n  End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<p>Eine einfache Aufgabe wie das Einf&uuml;gen von Datens&auml;tzen in ein Formular mit Unterformular birgt durchaus T&uuml;cken. Im vorliegenden Beitrag haben Sie erfahren, wie Sie Problemen vorbeugen, die bei der Verwendung von verkn&uuml;pften Haupt- und Unterformularen auftreten k&ouml;nnen, wenn der Benutzer sich allzu schnell um die Dateneingabe im Unterformular k&uuml;mmert.<\/p>\n<p>Welche der beiden alternativen L&ouml;sungsm&ouml;glichkeiten Sie einsetzen, h&auml;ngt vom pers&ouml;nlichen Geschmack ab. Die Variante, den Benutzer direkt beim Eintreten in das Unterformular aufzuhalten, ist sicher eleganter, als erst die Eingabe eines Zeichens in einem der Datenfelder des Unterformulars zuzulassen. Daf&uuml;r bietet die zweite Variante den Vorteil, dass Eingaben von Datens&auml;tzen in die Detailtabelle ohne Angabe eines Wertes f&uuml;r das Fremdschl&uuml;sselfeld schon auf Tabellenebene unterbunden werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unterformulare werden meist in Zusammenhang mit der Darstellung von 1:n- oder m:n-Beziehungen verwendet. Dabei sind allzu schnell mit dem Unterformular Datens&auml;tze in die Detailtabelle geschrieben, obwohl es gar keinen Masterdatensatz gibt &#8211; und der Benutzer darf sich entweder mit den Access-Fehlermeldungen herumschlagen oder Inkonsistenzen in Kauf nehmen. Allein die Festlegung refe-rentieller Integrit&auml;t reicht hier nicht aus, um eine fehlerfreie Dateneingabe zu gew&auml;hrleisten; dazu sind einige zus&auml;tzliche Handgriffe erforderlich.<\/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":[66012005,662005,44000023],"tags":[],"class_list":["post-55000261","post","type-post","status-publish","format-standard","hentry","category-66012005","category-662005","category-Mit_Formularen_arbeiten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Konsistente Dateneingabe in Unterformulare - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Konsistente Dateneingabe in Unterformulare\" \/>\n<meta property=\"og:description\" content=\"Unterformulare werden meist in Zusammenhang mit der Darstellung von 1:n- oder m:n-Beziehungen verwendet. Dabei sind allzu schnell mit dem Unterformular Datens&auml;tze in die Detailtabelle geschrieben, obwohl es gar keinen Masterdatensatz gibt - und der Benutzer darf sich entweder mit den Access-Fehlermeldungen herumschlagen oder Inkonsistenzen in Kauf nehmen. Allein die Festlegung refe-rentieller Integrit&auml;t reicht hier nicht aus, um eine fehlerfreie Dateneingabe zu gew&auml;hrleisten; dazu sind einige zus&auml;tzliche Handgriffe erforderlich.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:17:54+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Konsistente Dateneingabe in Unterformulare\",\"datePublished\":\"2020-05-06T15:17:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/\"},\"wordCount\":2897,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/93235ddf73d946669d071900066e5b28\",\"articleSection\":[\"1\\\/2005\",\"2005\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/\",\"name\":\"Konsistente Dateneingabe in Unterformulare - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/93235ddf73d946669d071900066e5b28\",\"datePublished\":\"2020-05-06T15:17:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/93235ddf73d946669d071900066e5b28\",\"contentUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/93235ddf73d946669d071900066e5b28\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Konsistente_Dateneingabe_in_Unterformulare\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Konsistente Dateneingabe in Unterformulare\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Konsistente Dateneingabe in Unterformulare - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/","og_locale":"de_DE","og_type":"article","og_title":"Konsistente Dateneingabe in Unterformulare","og_description":"Unterformulare werden meist in Zusammenhang mit der Darstellung von 1:n- oder m:n-Beziehungen verwendet. Dabei sind allzu schnell mit dem Unterformular Datens&auml;tze in die Detailtabelle geschrieben, obwohl es gar keinen Masterdatensatz gibt - und der Benutzer darf sich entweder mit den Access-Fehlermeldungen herumschlagen oder Inkonsistenzen in Kauf nehmen. Allein die Festlegung refe-rentieller Integrit&auml;t reicht hier nicht aus, um eine fehlerfreie Dateneingabe zu gew&auml;hrleisten; dazu sind einige zus&auml;tzliche Handgriffe erforderlich.","og_url":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:17:54+00:00","og_image":[{"url":"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Konsistente Dateneingabe in Unterformulare","datePublished":"2020-05-06T15:17:54+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/"},"wordCount":2897,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#primaryimage"},"thumbnailUrl":"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28","articleSection":["1\/2005","2005","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/","url":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/","name":"Konsistente Dateneingabe in Unterformulare - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#primaryimage"},"thumbnailUrl":"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28","datePublished":"2020-05-06T15:17:54+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#primaryimage","url":"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28","contentUrl":"http:\/\/vg03.met.vgwort.de\/na\/93235ddf73d946669d071900066e5b28"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Konsistente_Dateneingabe_in_Unterformulare\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Konsistente Dateneingabe in Unterformulare"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000261"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000261\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000261"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}