{"id":55000293,"date":"2016-08-01T00:00:00","date_gmt":"2020-01-24T15:59:28","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=293"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"RecordsetTypen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html","title":{"rendered":"Recordset-Typen"},"content":{"rendered":"<p class='introduction'>Wenn Sie lesend oder schreibend auf die Daten von Tabellen und Abfragen unter VBA zugreifen, so steht fast immer ein DAO-Recordset im Mittelpunkt des Geschehens. Dass es von diesem unterschiedliche Varianten gibt, wird dabei gern &uuml;bersehen. Untersuchen wir hier, welche Typen existieren und wie sie sich in ihrem Verhalten unterscheiden.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1510_DAO_Recordsets.accdb<\/b><\/p>\n<h2>&ouml;ffnen eines Recordsets<\/h2>\n<p>Der Zugriff auf die Daten einer Tabelle oder Abfrage geschieht unter <b>DAO<\/b> und <b>VBA<\/b> immer &uuml;ber ein <b>Recordset<\/b>, welches auf ein <b>Database<\/b>-Objekt und seine Methode <b>OpenRecordset<\/b> ge&ouml;ffnet wird. Access stellt eine Instanz der aktuellen Datenbank &uuml;ber seine Funktion <b>CurrentDb<\/b> bereit. &uuml;ber sie greifen Sie etwa auf eine Tabelle <b>tblAdressen<\/b> zu, indem Sie deren Namen der <b>OpenRecordset<\/b>-Funktion als Parameter &uuml;bergeben. Im einfachsten Fall sieht das so aus:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>rs<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n<span style=\"color:blue;\">Set<\/span> rs = CurrentDb.OpenRecordset_&nbsp;&nbsp;&nbsp;&nbsp;\r\n                   (\"tblAdressen\")<\/pre>\n<p>Statt direkt eine Tabelle anzugeben, kann auch ein<b> SQL-String<\/b> eingesetzt werden:<\/p>\n<pre><span style=\"color:blue;\">Set<\/span> rs = CurrentDb.OpenRecordset_\r\n         (\"SELECT * FROM tblAdressen\")<\/pre>\n<p>Das Ergebnis ist dasselbe. Ist der <b>SQL-String<\/b> sehr komplex und die Schreibarbeit unter VBA damit zu aufw&auml;ndig, so kommt auch das &ouml;ffnen eines Recordset &uuml;ber eine Abfrage in Betracht:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>qdf<span style=\"color:blue;\"> As <\/span>QueryDef\r\n<span style=\"color:blue;\">Dim <\/span>rs<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n<span style=\"color:blue;\">Set<\/span> qdf = CurrentDb.QueryDefs_\r\n                  (\"qryAdressen\")\r\n<span style=\"color:blue;\">Set<\/span> rs = qdf.OpenRecordset()<\/pre>\n<p>Hier bef&auml;nde sich der <b>SQL-String<\/b> in der Auswahlabfrage <b>qryAdressen<\/b>. Das Ergebnis ist auch hier identisch mit dem Ergebnis des &uuml;ber einen <b>SQL-String <\/b>direkt ge&ouml;ffneten Recordset-Objekts, wie zuvor.<\/p>\n<p>Was bei der ganzen Sache unterschlagen wird, ist der zweite Parameter, der der Methode <b>OpenRecordset<\/b> &uuml;bergeben werden kann. Er gibt an, welcher <b>Recordset-Typ<\/b> von der Methode zur&uuml;ckgegeben werden soll. Dies k&ouml;nnte etwa der Typ <b>Dynaset<\/b> sein, welcher in der Folge das Bearbeiten der Daten erlaubte:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>rs<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n<span style=\"color:blue;\">Set<\/span> rs = CurrentDb.OpenRecordset_&nbsp;&nbsp;&nbsp;&nbsp;\r\n        (\"tblAdressen\", dbOpenDynaset)<\/pre>\n<p>Was jedoch passiert, wenn Sie diesen Parameter weglassen Welcher <b>Recordset-Typ<\/b> kommt dabei heraus<\/p>\n<p>Das k&ouml;nnen Sie ermitteln, indem Sie anschlie&szlig;end die <b>Type<\/b>-Eigenschaft abfragen:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> rs.Type<\/pre>\n<p>Sie erhalten damit eine Zahl, die einen der Elemente von <b>RecordsetTypeEnum<\/b> wiederspiegelt. &ouml;ffnen Sie den <b>VBA-Objektkatalog<\/b>, stellen das obere Kombinationsfeld auf <b>DAO<\/b> ein und navigieren in der Klassenliste zu dieser Enumeration.<\/p>\n<p>Rechts im Methodenfenster finden Sie nun die f&uuml;nf m&ouml;glichen Typen. Beim Klick auf einen der Eintr&auml;ge sehen Sie im Beschreibungsfenster ganz unten den Wert der Konstanten. F&uuml;r unser erstes Beispiel wird der Wert <b>1<\/b> und damit der Typ <b>dbOpenTable<\/b> ermittelt.<\/p>\n<p>Doch die Annahme, dass bei Weglassen des optionalen Typ-Parameters f&uuml;r <b>OpenRecordset<\/b> das Ergebnis-Recordset immer vom Typ <b>Table<\/b> ist, tr&uuml;gt leider. Denn f&uuml;r das zweite Beispiel mit dem <b>SQL-String <\/b>bekommen Sie den Typ-Wert <b>2<\/b>, was dem <b>Dynaset<\/b> entspricht. Gleiches gilt f&uuml;r das auf die Abfrage ge&ouml;ffnete Recordset. Und auch bei <b>verkn&uuml;pften Tabellen<\/b>, die sich in einer anderen Datenbank befinden, stellt <b>DAO<\/b> den Typ automatisch auf <b>Dynaset<\/b> ein.<\/p>\n<p>Aus diesem Grund ist es ratsam, den Typ-Parameter grunds&auml;tzlich anzugeben. Denn das Verhalten der Recordset-Varianten unterscheidet sich durchaus, wie wir gleich sehen werden.<\/p>\n<h2>Recordset-Typ Table<\/h2>\n<p>Dieser &uuml;ber den Parameterwert <b>dbOpenTable<\/b> erhaltene Typ l&auml;sst sich ausschlie&szlig;lich f&uuml;r die in der aktuellen Datenbank befindlichen Tabellen verwenden. Verkn&uuml;pfte Tabellen und Abfragen kommen hier nicht infrage. Andernfalls k&auml;me es beim Aufruf zu einer Fehlermeldung. Seine Datens&auml;tze sind aktualisierbar, was bedeutet, dass Datenwerte ge&auml;ndert und -zeilen gel&ouml;scht oder hinzugef&uuml;gt werden k&ouml;nnen.<\/p>\n<p>Da auch der Typ <b>Dynaset<\/b> dies unterst&uuml;tzt, fragt sich, wof&uuml;r dieser Typ &uuml;berhaupt gut ist. Es gibt genau einen Grund: Nur dieser Typ erlaubt den Aufruf der Methode <b>Seek<\/b> zum schnellen Suchen von Datens&auml;tzen auf Felder, die indiziert sind. Dazu sp&auml;ter mehr.<\/p>\n<h2>Recordset-Typ Dynaset<\/h2>\n<p>Mit dem Parameter <b>dbOpenDynaset<\/b> wird von <b>OpenRecordset<\/b> dieser Typ zur&uuml;ckgegeben. Auch hier sind die Datens&auml;tze bearbeitbar. Allerdings nicht nur f&uuml;r in der aktuellen Datenbank befindliche Tabellen, sondern auch f&uuml;r verkn&uuml;pfte Tabellen und Abfragen. Bei Letzteren ist allerdings Voraussetzung, dass sie selbst einen aktualisierbaren Aufbau besitzen. &ouml;ffnen Sie die fragliche Abfrage einfach als Datenblatt und versuchen Sie darin Datens&auml;tze zu bearbeiten. Klappt das, so kann auf die Abfrage mit diesem Recordset-Typ zugegegriffen werden. Doch auch <b>nichtaktualisierbare Abfragen<\/b> verweigern diesen Parameter <b>dbOpenDynaset <\/b>nicht. Allerdings wird in der Folge beim Editieren von Datens&auml;tzen eine Fehlermeldung ausgegeben.<\/p>\n<h2>Recordset-Typ Snapshot<\/h2>\n<p>Geben Sie <b>dbOpenSnapshot<\/b> als Typ-Parameter f&uuml;r das Recordset an, so einsteht eine Datenquelle, deren Datens&auml;tze nicht bearbeitet werden k&ouml;nnen. Sie k&ouml;nnen so sicherstellen, dass nicht aus Versehen Daten von Tabellen ver&auml;ndert werden. Das jedoch ist auch schon der einzige sinnvolle Grund, diesen Typ einzusetzen. Denn die Performance dieses Typs ist, wie wir noch sehen werden, recht mangelhaft<\/p>\n<p>Unter der Haube geschieht technisch n&auml;mlich dies: Bei einem <b>Snapshot<\/b> werden alle Datens&auml;tze der Tabelle oder Abfrage komplett in den lokalen Speicher der <b>Daten-Engine<\/b> eingelesen, w&auml;hrend bei einem <b>Dynaset<\/b> zun&auml;chst nur ein Bruchteil ermittelt wird und die weiteren Datens&auml;tze erst auf Anfrage eintrudeln. Diese Anfragen entstehen erst durch die <b>Move<\/b>&#8211; und <b>Find<\/b>-Methoden des Recordsets. Damit wird auch klar, weshalb die Funktion <b>RecordCount<\/b> des Recordsets, welche die Zahl der Datens&auml;tze zur&uuml;ckgibt, bei beiden Typen unterschiedliche Ergebnisse zeigt. Beim <b>Snapshot<\/b> ist der Wert korrekt, da bereits alle Datens&auml;tze im Speicher liegen. Beim <b>Dynaset<\/b> jedoch erhalten Sie zun&auml;chst immer die <b>1<\/b>, weil noch kein weiterer Zugriff auf die Datens&auml;tze stattfand. Erst nach einem Aufruf von <b>MoveLast<\/b> stimmt die Zahl.<\/p>\n<p>Besonders katastrophal verh&auml;lt sich das <b>Snapshot<\/b> beim Zugriff auf gro&szlig;e verkn&uuml;pfte Tabellen, die in einer <b>Backend-Datenbank<\/b> auf einem <b>Netzwerk-Share<\/b> liegen. Da hier die gesamte Tabelle oder das gesamte Abfrageergebnis &uuml;bertragen werden muss, kann es zu deutlichen Verz&ouml;gerungen und Performance-Einbr&uuml;chen kommen.<\/p>\n<p>Lange Rede, kurzer Sinn: Selten gibt es einen vern&uuml;nftigen Grund, diesen Typ einzusetzen.<\/p>\n<h2>Recordset-Typ ForwardOnly<\/h2>\n<p>Das &uuml;ber den Typ-Parameter <b>dbOpenForwardOnly<\/b> erhaltene Recordset weist &auml;hnliche Einschr&auml;nkungen auf, wie ein <b>Snapshot<\/b>. Die Datenquelle ist nicht aktualisierbar. Zu allem &uuml;berfluss lassen sich darauf noch nicht einmal die <b>Find-Methoden<\/b> (<b>FindFirst<\/b>, <b>FindLast<\/b>, et cetera) anwenden. Allerdings liegt es in der Performance in der Region eines <b>Dynaset<\/b>, weil hier ebenfalls zun&auml;chst nur der erste Datensatz vorliegt und nicht alle Datens&auml;tze auf einen Schwung &uuml;bertragen werden m&uuml;ssen. Man kann sich innerhalb der Datens&auml;tze nur in eine Richtung bewegen: vorw&auml;rts. Das bedeutet, dass lediglich die Methode <b>MoveNext<\/b> zur Navigation erlaubt ist, w&auml;hrend <b>MovePrevious<\/b> und sogar <b>MoveLast<\/b> fehlschlagen.<\/p>\n<p>Mit all diesen Einschr&auml;nkungen empfiehlt sich der Einsatz dieses Typs &uuml;berhaupt nicht. Theoretisch k&ouml;nnte die Performance bei Durchlaufen der Datens&auml;tze hier die beste sein, das jedoch best&auml;tigt sich unter keinen Umst&auml;nden.<\/p>\n<p>Der &uuml;bersicht halber finden Sie in Bild 1 eine Matrix, die die einzelnen <b>Recordset-Typen<\/b> und deren erlaubte Methoden auflistet. <b>Read<\/b> bedeutet dabei, dass Werte aus den Datens&auml;tzen ausgelesen werden k&ouml;nnen. Das ist selbstverst&auml;ndlich bei allen Typen der Fall. Beim Modifizieren von Datens&auml;tze (<b>Edit<\/b>&#8211; und <b>Update<\/b>-Methoden) sieht das schon anders aus. Die <b>Find<\/b>-Methoden <b>FindFirst<\/b>, <b>FindNext<\/b>, <b>FindPrevious<\/b> und <b>FindLast<\/b> spendieren nur <b>Dynasets<\/b> und <b>Snapshots<\/b>. Die recht spezielle <b>Seek<\/b>-Methode schlie&szlig;lich erlaubt nur das <b>Table-Recordset<\/b>.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Matrix.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Matrix.png\" alt=\"Recordset-Typen und ihre erlaubte Zugriffsmethoden\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Recordset-Typen und ihre erlaubte Zugriffsmethoden<\/p>\n<h2>Aufsuchen von Datens&auml;tzen mit Seek<\/h2>\n<p>W&auml;hrend das Suchen innerhalb der Datens&auml;tze eines Recordsets &uuml;ber dessen Find-Methoden bereits in einigen Ausgaben von Access Basics  behandelt wurde, soll die <b>Seek<\/b>-Methode hier etwas ausf&uuml;hrlicher vorgestellt werden.<\/p>\n<p>W&auml;hrend die <b>Find<\/b>-Methoden den Inhalt der Datens&auml;tze nacheinander Schritt f&uuml;r Schritt mit dem Suchausdruck vergleichen, bis &uuml;bereinstimmung festgestellt wird, geht Seek einen anderen Weg. Hier wird direkt der <b>Index<\/b> eines Feldes herangezogen, &uuml;ber den sehr schnell ein Datensatz identifiziert ist.<\/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\/55000293\/\">\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\/55000293?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\/55000293\/\"\/>\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>Wenn Sie lesend oder schreibend auf die Daten von Tabellen und Abfragen unter VBA zugreifen, so steht fast immer ein DAO-Recordset im Mittelpunkt des Geschehens. Dass es von diesem unterschiedliche Varianten gibt, wird dabei gern &uuml;bersehen. Untersuchen wir hier, welche Typen existieren und wie sie sich in ihrem Verhalten unterscheiden.<\/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":[66102015,662015,44000018],"tags":[],"class_list":["post-55000293","post","type-post","status-publish","format-standard","hentry","category-66102015","category-662015","category-Datenzugriff_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>Recordset-Typen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Wenn Sie lesend oder schreibend auf die Daten von Tabellen und Abfragen unter VBA zugreifen, so steht fast immer ein DAO-Recordset im Mittelpunkt des Geschehens. Dass es von diesem unterschiedliche Varianten gibt, wird dabei gern \u00fcbersehen. Untersuchen wir hier, welche Typen existieren und wie sie sich in ihrem Verhalten unterscheiden.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recordset-Typen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie lesend oder schreibend auf die Daten von Tabellen und Abfragen unter VBA zugreifen, so steht fast immer ein DAO-Recordset im Mittelpunkt des Geschehens. Dass es von diesem unterschiedliche Varianten gibt, wird dabei gern \u00fcbersehen. Untersuchen wir hier, welche Typen existieren und wie sie sich in ihrem Verhalten unterscheiden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:28+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\/Matrix.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\/RecordsetTypen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/Matrix.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html\",\"name\":\"Recordset-Typen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:28+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Wenn Sie lesend oder schreibend auf die Daten von Tabellen und Abfragen unter VBA zugreifen, so steht fast immer ein DAO-Recordset im Mittelpunkt des Geschehens. Dass es von diesem unterschiedliche Varianten gibt, wird dabei gern \\u00fcbersehen. Untersuchen wir hier, welche Typen existieren und wie sie sich in ihrem Verhalten unterscheiden.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.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\/RecordsetTypen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/RecordsetTypen.html\",\"name\":\"Recordset-Typen\"}}]},{\"@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\/55000293","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=55000293"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000293\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}