{"id":55000264,"date":"2015-10-01T00:00:00","date_gmt":"2020-01-24T15:59:18","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=264"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"VBAFunktionen_in_Abfragen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html","title":{"rendered":"VBA-Funktionen in Abfragen"},"content":{"rendered":"<p class='introduction'>Ob f&uuml;r die Berechnung von Feldern oder f&uuml;r Kriterien, um den Einsatz von VBA-Funktionen in Abfragen und SQL-Ausdr&uuml;cken werden Sie h&auml;ufig nicht herum kommen. Die Liste von origin&auml;ren Funktionen der Access-SQL-Engine ist ziemlich kurz, und f&uuml;r alle weitergehenden Rechenaufgaben verwendet Access nach Aussage von Microsoft den sogenannten VBA Expression Service. Betrachten wir in diesem Beitrag, wie beide zusammenspielen und auf was hier das Augenmerk liegen sollte. <\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1411_VBAInAbfragen.mdb<\/b>.<\/p>\n<h2>Abfragen-Komponenten<\/h2>\n<p>Wenn Sie in Ihrer Datenbank eine Abfrage zusammenbasteln, so kommen intern gleich drei Komponenten ins Spiel. Die offensichtlichste ist der Abfrageneditor von Access, der eine grafische Oberfl&auml;che zur Verf&uuml;gung stellt, um per Maus und Tastatur, sowie die entsprechenden Hilfsdialoge, eine Abfrage visuell zu erstellen. In Bild 1 sehen Sie etwa den Entwurf einer ganz einfachen Abfrage auf die Tabelle <b>tblStammdaten<\/b>, um die sich auch in der Beispieldatenbank dieses Beitrags alles rankt. In ihr werden alle Felder und Datens&auml;tze der Tabelle ausgegeben, und das Ergebnis ist dasselbe, als w&uuml;rden Sie die Tabelle in der Datenblattansicht &ouml;ffnen. Die Berechnung des Ergebnisses nimmt dabei aber nicht Access selbst vor, sondern die <b>Office Access Database Engine<\/b> (<b>ACE<\/b>), welche sich unter VBA auch &uuml;ber die <b>DAO<\/b>-Bibliothek ansprechen l&auml;sst. Access &uuml;bersetzt lediglich den visuellen Entwurf in ein SQL-Statement und &uuml;bergibt es der ACE-Engine.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/01_qry_Stammdaten.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/01_qry_Stammdaten.png\" alt=\"Die Stammdatentabelle &uuml;ber eine Abfrage ausgeben\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Die Stammdatentabelle &uuml;ber eine Abfrage ausgeben<\/p>\n<p>Das SQL-Statement k&ouml;nnen Sie ja auch &uuml;ber die Ansicht des Entwurfs einsehen oder modifizieren. Die ACE ist das Datenbank-Herzst&uuml;ck und quasi der SQL-Server von Access. Sie erwartet einen bestimmten SQL-Dialekt, reagiert also auf Anweisungen, die aus genau definierten Ausdr&uuml;cken und Operatoren bestehen. Die Liste ihrer reservierten Ausdr&uuml;cke finden Sie etwa unter <b>http:\/\/msdn.microsoft.com\/en-us\/library\/bb208875%28v=office.12%29.aspx<\/b>.<\/p>\n<p>Funktionen zur Weiterverarbeitung von Variablenwerten, seien es numerische oder alphanumerische, sind dort indessen so gut wie keine aufgef&uuml;hrt. Es handelt sich hier eher um Operatoren, die mit den Datenmengen selbst umgehen. Beispiele f&uuml;r origin&auml;re SQL-Funktionen w&auml;ren etwa die <b>LIKE<\/b>&#8211; oder <b>BETWEEN<\/b>-Anweisungen. Sobald Sie jedoch dar&uuml;ber hinaus Funktionen auf Feldinhalte loslassen, klinkt sich der sogenannte <b>VBA Expression Service<\/b> als dritte Komponente ein. Eine Funktion, wie <b>Left()<\/b> zum Abschneiden von Strings  &#8211; von Access im Abfragenentwurf &uuml;berfl&uuml;ssigerweise in <b>Links<\/b>() eindeutscht &#8211; wird von VBA behandelt, weshalb deren Syntax und Parameter auch identisch sind mit dem, was Sie im VBA-Code angeben w&uuml;rden. <\/p>\n<p>Sie k&ouml;nnen also fast beliebige VBA-Funktionen auf Feldinhalte anwenden. Der Umfang dieser Funktionen ergibt sich aus dem Objektkatalog des VBA-Editors, indem Sie dort die Bibliothek <b>VBA<\/b> ausw&auml;hlen. Diese Bibliothek ist kein Bestandteil von Access! Sie k&ouml;nnen etwa die <b>ACE<\/b> auf einem System auch ohne Access installieren und dennoch VBA-Funktionen verwenden, wenn Sie die Engine von einer anderen Programmiersprache aus benutzen.<\/p>\n<p>Eine Besonderheit des <b>VBA Expression Service<\/b> ist jedoch, dass er benutzerdefinierte Funktionen erm&ouml;glicht. Die Verbindung zwischen eigenem Code und dem Service wird allerdings von Access vorgenommen. Es sagt dem Service gewisserma&szlig;en, wo die Funktionen zu finden sind. Wie genau das funktioniert ist nicht dokumentiert, und es l&auml;uft ohne weiteres Zutun Ihrerseits ab. <\/p>\n<p>Zusammengefasst lassen sich die an einer Abfrage beteiligten Komponenten im &uuml;berblick schematisch wie in Bild 2 darstellen. Access stellt damit ein recht leistungsf&auml;higes System zur Verf&uuml;gung, das mit sehr geringem Verwaltungsaufwand f&uuml;r die Entwicklung von Abfragen auskommt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/01b_AbfrageKomponenten.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/01b_AbfrageKomponenten.png\" alt=\"An einer Access-Abfrage beteiligte Komponenten (Schema)\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: An einer Access-Abfrage beteiligte Komponenten (Schema)<\/p>\n<h2>VBA-Einsatz in Abfragen<\/h2>\n<p>Wo Licht ist, da ist auch Schatten. Bekannt etwa d&uuml;rfte sein, dass VBA-Funktionen nicht unbedingt rasende Performance aufweisen. Das gilt im Besonderen f&uuml;r selbstprogrammierte Module, da VBA keinen richtigen Bin&auml;r-Code erzeugt, sondern halbinterpretierend arbeitet. Eigene VBA-Funktionen sind also ziemlich langsam. Darauf muss geachtet werden, wenn solche Funktionen in Abfragen eingesetzt werden. Die mangelnde Performance von VBA allein ist jedoch noch nicht der einzige Bremsschuh. Um dies zu erl&auml;utern, betrachten wir ein Beispiel, welches die Abfrage aus Bild 1 um eine benutzerdefinierte Funktion erweitert (siehe Bild 3). Die VBA-Funktion <b>fux<\/b> ist im Modul <b>mdlTest<\/b> der Beispieldatenbank so angelegt:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/02_qry_StammdatenVBA.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/02_qry_StammdatenVBA.png\" alt=\"Abfrage mit zus&auml;tzlich eingef&uuml;gter VBA-Funktion\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Abfrage mit zus&auml;tzlich eingef&uuml;gter VBA-Funktion<\/p>\n<pre><span style=\"color:blue;\">Function <\/span>fux(lId<span style=\"color:blue;\"> As Long<\/span>)<span style=\"color:blue;\"> As Long<\/span>\r\n     fux = lId\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Sie tut nichts anderes, als den ihr &uuml;bergebenen Wert als Resultat wieder zur&uuml;ckzugeben. Genauso gut h&auml;tte man f&uuml;r die Abfragenspalte <b>n<\/b> auch auch schlicht das Feld <b>ID<\/b> direkt einsetzen k&ouml;nnen. <\/p>\n<p>Um die Performance dieser Abfrage zu pr&uuml;fen, existiert im Modul <b>mdlTest<\/b> eine Routine <b>TestPerformance<\/b>, die in einer Schleife hundertmal ein Recordset auf die Abfrage &ouml;ffnet und alle Datens&auml;tze  durchl&auml;uft. Die daf&uuml;r ben&ouml;tigte Zeit wird gemessen. Sie ist in Listing 1 zu finden und wird sp&auml;ter noch gesondert beleuchtet. Im VBA-Direktfenster gibt sie schlie&szlig;lich die ben&ouml;tigte Zeit f&uuml;r ihre Ausf&uuml;hrung aus. Rufen Sie sie etwa &uuml;ber diese Anweisung auf:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>TestPerformance(ByVal TestNo<span style=\"color:blue;\"> As Long<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>t<span style=\"color:blue;\"> As Single<\/span>, i<span style=\"color:blue;\"> As Long<\/span>, J<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>rs<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n     <span style=\"color:blue;\">Dim <\/span>V<span style=\"color:blue;\"> As Variant<\/span>, sQry<span style=\"color:blue;\"> As Variant<\/span>\r\n     Select Case TestNo\r\n     <span style=\"color:blue;\">Case <\/span>0: sQry = Array(\"qry_Stammdaten\", \"qry_StammdatenVBA\")\r\n     <span style=\"color:blue;\">Case <\/span>1: sQry = Array(\"qry_Stammdaten_Sort\", \"qry_StammdatenVBA_Sort\")\r\n     <span style=\"color:blue;\">Case <\/span>2: sQry = Array(\"qry_Stammdaten1965_12\", \"qry_Stammdaten1965_12_2\", _\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;       \"qry_Stammdaten1965_12_3\", \"qry_Stammdaten1965_12VBA\")\r\n     <span style=\"color:blue;\">Case <\/span>3: sQry = Array(\"qry_Stammdaten_Mann\", \"qry_Stammdaten_MannVBA\")\r\n     <span style=\"color:blue;\">Case <\/span>4: sQry = Array(\"qry_Stammdaten_BE\", \"qry_Stammdaten_BEVBA\")\r\n     <span style=\"color:blue;\">Case <\/span>5: sQry = Array(\"qry_Stammdaten_Feiertag\", \"qry_Stammdaten_FeiertagVBA\")\r\n     <span style=\"color:blue;\">Case <\/span>6: sQry = Array(\"qry_Stammdaten_NotNull\", \"qry_Stammdaten_NotNull2\", \"qry_Stammdaten_NotNullVBA\")\r\n     <span style=\"color:blue;\">Case <\/span>7: sQry = Array(\"qry_Stammdaten_StrNull\", \"qry_Stammdaten_StrNullVBA\")\r\n     <span style=\"color:blue;\">Case <\/span>8: sQry = Array(\"qry_StammdatenGeb\", \"qry_StammdatenGebVBA\")\r\n     <span style=\"color:blue;\">End Select<\/span>\r\n     For J = 0 To <span style=\"color:blue;\">UBound<\/span>(sQry)\r\n         t = VBA.Timer\r\n         For i = 1 To 100\r\n             <span style=\"color:blue;\">Set<\/span> rs = DBEngine(0)(0).OpenRecordset(\"SELECT * FROM \" & sQry(J), dbOpenDynaset)\r\n             <span style=\"color:blue;\">Do While<\/span> <span style=\"color:blue;\">Not<\/span> rs.EOF\r\n                 V = rs.Fields(0).Value\r\n                 rs.Move<span style=\"color:blue;\">Next<\/span>\r\n             <span style=\"color:blue;\">Loop<\/span>\r\n             rs.Close\r\n             <span style=\"color:blue;\">Set<\/span> rs = Nothing\r\n         <span style=\"color:blue;\">Next<\/span> i\r\n         <span style=\"color:blue;\">Debug.Print<\/span> sQry(J), 1000 * (VBA.Timer - t) & \" ms\"\r\n     <span style=\"color:blue;\">Next<\/span> J\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: Aufrufen des Detailformular mit entsprechendem Filter<\/p>\n<pre>TestPerformance 0<\/pre>\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\/55000264\/\">\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\/55000264?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\/55000264\/\"\/>\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>Ob f&uuml;r die Berechnung von Feldern oder f&uuml;r Kriterien, um den Einsatz von VBA-Funktionen in Abfragen und SQL-Ausdr&uuml;cken werden Sie h&auml;ufig nicht herum kommen. Die Liste von origin&auml;ren Funktionen der Access-SQL-Engine ist ziemlich kurz, und f&uuml;r alle weitergehenden Rechenaufgaben verwendet Access nach Aussage von Microsoft den sogenannten VBA Expression Service. Betrachten wir in diesem Beitrag, wie beide zusammenspielen und auf was hier das Augenmerk liegen sollte. <\/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":[66112014,662014,44000006],"tags":[],"class_list":["post-55000264","post","type-post","status-publish","format-standard","hentry","category-66112014","category-662014","category-Abfragen_fuer_die_Datenauswahl"],"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>VBA-Funktionen in Abfragen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Ob f\u00fcr die Berechnung von Feldern oder f\u00fcr Kriterien, um den Einsatz von VBA-Funktionen in Abfragen und SQL-Ausdr\u00fccken werden Sie h\u00e4ufig nicht herum kommen. Die Liste von origin\u00e4ren Funktionen der Access-SQL-Engine ist ziemlich kurz, und f\u00fcr alle weitergehenden Rechenaufgaben verwendet Access nach Aussage von Microsoft den sogenannten VBA Expression Service. Betrachten wir in diesem Beitrag, wie beide zusammenspielen und auf was hier das Augenmerk liegen sollte.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VBA-Funktionen in Abfragen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Ob f\u00fcr die Berechnung von Feldern oder f\u00fcr Kriterien, um den Einsatz von VBA-Funktionen in Abfragen und SQL-Ausdr\u00fccken werden Sie h\u00e4ufig nicht herum kommen. Die Liste von origin\u00e4ren Funktionen der Access-SQL-Engine ist ziemlich kurz, und f\u00fcr alle weitergehenden Rechenaufgaben verwendet Access nach Aussage von Microsoft den sogenannten VBA Expression Service. Betrachten wir in diesem Beitrag, wie beide zusammenspielen und auf was hier das Augenmerk liegen sollte.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:18+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\/01_qry_Stammdaten.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=\"11\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\/VBAFunktionen_in_Abfragen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/01_qry_Stammdaten.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html\",\"name\":\"VBA-Funktionen in Abfragen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:18+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Ob f\\u00fcr die Berechnung von Feldern oder f\\u00fcr Kriterien, um den Einsatz von VBA-Funktionen in Abfragen und SQL-Ausdr\\u00fccken werden Sie h\\u00e4ufig nicht herum kommen. Die Liste von origin\\u00e4ren Funktionen der Access-SQL-Engine ist ziemlich kurz, und f\\u00fcr alle weitergehenden Rechenaufgaben verwendet Access nach Aussage von Microsoft den sogenannten VBA Expression Service. Betrachten wir in diesem Beitrag, wie beide zusammenspielen und auf was hier das Augenmerk liegen sollte.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.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\/VBAFunktionen_in_Abfragen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/VBAFunktionen_in_Abfragen.html\",\"name\":\"VBA-Funktionen in Abfragen\"}}]},{\"@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\/55000264","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=55000264"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000264\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}