{"id":55000300,"date":"2016-10-01T00:00:00","date_gmt":"2020-01-24T15:59:30","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=300"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"DAOObjekte_und_Auflistungen_Teil_II","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html","title":{"rendered":"DAO-Objekte und -Auflistungen, Teil II"},"content":{"rendered":"<p class='introduction'>Waren Containers, Documents und Properties Thema der letzten Ausgabe &uuml;ber DAO-Objekte, so geht es diesmal abschlie&szlig;end um Relations und Workspaces. Dabei handelt es sich zum einen um die Abbildung und Manipulation von Tabellenbeziehungen im Objektmodell, zum anderen um die sogenannten Arbeitsbereiche der Access Database Engine. Erfahren Sie, wie Tabellenbeziehungen  einer Datenbank ermittelt und neu angelegt werden k&ouml;nnen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1511_DAORelations.accdb<\/b><\/p>\n<h2>Beziehungsbeispiel<\/h2>\n<p>Die Beispieldatenbank enth&auml;lt vier uns mittlerweile wohlbekannte Tabellen, die &uuml;ber einige Beziehungen miteinander verkn&uuml;pft sind. Zu den Feldern <b>IDAnrede<\/b>, <b>IDOrt<\/b> und <b>IDLand<\/b> der Tabelle <b>tblAdressen<\/b> existieren drei Nachschlagetabellen, die mit ihr auf unterschiedliche Weise in Beziehung stehen (siehe Bild 1). F&uuml;r unsere Zwecke wurden die Beziehungen zum Testen auf etwas eigent&uuml;mliche Weise modifiziert, die so allerdings keinen rechten Sinn mehr ergeben.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Beziehungsfenster.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Beziehungsfenster.png\" alt=\"Beziehungslayout der Beispieldatenbank\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Beziehungslayout der Beispieldatenbank<\/p>\n<p>Bild 2 zeigt die Einstellungen f&uuml;r die Beziehung zwischen Adressen- und Anreden-Tabelle. Die <b>Referenzielle Integrit&auml;t<\/b> wurde ausgeschaltet, aber der Typ mit <b>1:n <\/b>beibehalten. Die Einstellungen f&uuml;r die Nachschlagetabelle zu Orten findet sich in Bild 3. Hier wurde nichts ver&auml;ndert. Schlie&szlig;lich stellt Bild 4 die Beziehung f&uuml;r die L&auml;nder-Tabelle dar, bei der jeweils zwei Felder verkn&uuml;pft wurden. Neben dem eigentlichen Prim&auml;rschl&uuml;sselfeld <b>ID<\/b> zu <b>IDAnrede<\/b> ist zus&auml;tzlich der L&auml;ndername <b>Land<\/b> selbst in der zweiten Zeile <b>1:n<\/b>-verkn&uuml;pft. Au&szlig;erdem ist der Typ der Beziehung, erreichbar &uuml;ber die Schaltfl&auml;che <b>Verkn&uuml;pfungstyp&#8230;<\/b>, auf den dritten Modus eingestellt, was sie zu einer <b>Left-Join-Beziehung<\/b> macht (Bild 5) Mit diesen Vorgaben l&auml;sst sich <b>Referenzielle Integrit&auml;t <\/b>ohnehin nicht mehr festlegen, weil keine Eindeutigkeit mehr gegeben ist.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Rel2.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Rel2.png\" alt=\"Einstellungen f&uuml;r die Beziehung zur Tabelle tblOrte\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Einstellungen f&uuml;r die Beziehung zur Tabelle tblOrte<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Rel3_2.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Rel3_2.png\" alt=\"Verkn&uuml;pfungstyp der Beziehung zu tblLaender\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Verkn&uuml;pfungstyp der Beziehung zu tblLaender<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Rel3_2.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Rel3_2.png\" alt=\"Einstellung f&uuml;r die Beziehung zur Tabelle tblLaender\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Einstellung f&uuml;r die Beziehung zur Tabelle tblLaender<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Rel1.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Rel1.png\" alt=\"Einstellungen der Beziehung zur Tabelle tblAnreden\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Einstellungen der Beziehung zur Tabelle tblAnreden<\/p>\n<h2>Beziehungen auslesen<\/h2>\n<p>F&uuml;r die Beziehungen einer Datenbank ist &uuml;ber das VBA-Objekt <b>Database<\/b> deren Auflistungseigenschaft <b>Relations<\/b> zust&auml;ndig. Die kurze Routine <b>GetRelations<\/b> in Listing 1 macht deutlich, wie die einzelnen <b>Relation<\/b>-Objekte in einer <b>For-Each-Schleife<\/b> durchlaufen werden k&ouml;nnen.<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>GetRelations()\r\n     <span style=\"color:blue;\">Dim <\/span>dbs<span style=\"color:blue;\"> As <\/span>Database\r\n     <span style=\"color:blue;\">Dim <\/span>rel<span style=\"color:blue;\"> As <\/span>DAO.Relation\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> dbs = CurrentDb\r\n     For Each rel In dbs.Relations\r\n         <span style=\"color:blue;\">Debug.Print<\/span> rel.Name\r\n     <span style=\"color:blue;\">Next<\/span> rel\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: Prozedur zum Durchlaufen der DAO-Auflistung Relations<\/p>\n<p>Zun&auml;chst wird die <b>Database<\/b>-Variable <b>dbs<\/b> &uuml;ber die Funktion <b>CurrentDb<\/b> auf eine aktuelle Instanz der Datenbank gesetzt. Als Schleifenvariable kommt die Variable <b>rel<\/b> vom Typ <b>DAO.Relation<\/b> zum Einsatz. Im VBA-Direktfenster wird dann lediglich der <b>Name<\/b> der Beziehung ausgegeben. Als Ergebnis erhalten Sie dies:<\/p>\n<pre>MSysNavPaneGroupCategoriesMSysNavPaneGroupsMSysNavPaneGroupsMSysNavPaneGroupToObjectstblAnredentblAdressentblLaendertblAdressentblOrtetblAdressen<\/pre>\n<p>Dass Beziehungen &uuml;berhaupt Namen haben, ist nicht so selbstverst&auml;ndlich, denn diese tauchen in der Oberfl&auml;che von Access nirgendwo auf. Im Beziehungsfenster sind sie auch in den Eigenschaftsdialogen nicht angegeben. Wie Sie sehen k&ouml;nnen, leiten sich die Namen aus den an der Beziehung beteiligten Tabellen ab. Die ersten beiden oben angegebenen Beziehungen sind &uuml;brigens in jeder Datenbank im <b>Access 2007-Format<\/b> vorhanden. Access legt sie selbst an.<\/p>\n<p>Diese speziellen <b>MSys-Tabellen<\/b> dienen der Verwaltung und Steuerung des Navigationsbereichs.<\/p>\n<p>Weiten wir nun die einfache Prozedur aus <b>Listing 1 <\/b>einmal ab, um mehr &uuml;ber die Beziehungen zu erfahren. Die Routine in Listing 2 hat den gleichen Grundaufbau, gibt aber neben den Namen auch noch die an der Verkn&uuml;pfung beteiligten Tabellen &uuml;ber die Eigenschaften <b>Table<\/b> und <b>ForeignTable<\/b> der jeweiligen <b>Relations-Objekte<\/b> wieder. Das Ergebnis, hier unter Ausschluss der <b>MSys<\/b>-Beziehungen:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>GetRelationsTables()\r\n     <span style=\"color:blue;\">Dim <\/span>dbs<span style=\"color:blue;\"> As <\/span>Database\r\n     <span style=\"color:blue;\">Dim <\/span>rel<span style=\"color:blue;\"> As <\/span>DAO.Relation\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> dbs = CurrentDb\r\n     For Each rel In dbs.Relations\r\n         <span style=\"color:blue;\">Debug.Print<\/span> rel.Name\r\n         <span style=\"color:blue;\">Debug.Print<\/span> , rel.Table\r\n         <span style=\"color:blue;\">Debug.Print<\/span> , rel.ForeignTable\r\n         <span style=\"color:blue;\">Debug.Print<\/span> , rel.Attributes\r\n     <span style=\"color:blue;\">Next<\/span> rel\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 2: Ausgabe weiterer Bezihungseigenschaften (Tabellen)<\/p>\n<pre>tblAnredentblAdressen\r\n               tblAnreden\r\n               tblAdressen\r\n                2 \r\ntblLaendertblAdressen\r\n               tblLaender\r\n               tblAdressen\r\n                33554434 \r\ntblOrtetblAdressen\r\n               tblOrte\r\n               tblAdressen\r\n               0<\/pre>\n<p><b>Table<\/b> ist also jene Tabelle, welche den Prim&auml;rschl&uuml;ssel in der Beziehung aufweist, <b>ForeignTable<\/b> die Tabelle mit dem Fremdschl&uuml;sselfeld. Die Zahl, die Attributes enth&auml;lt, gibt dar&uuml;ber hinaus Aufschluss auf die Art der Beziehung. Es handelt sich hierbei um eine Kombination von Konstanten der Enumeration <b>RelationAttributeEnum<\/b> von DAO &#8211; siehe Objektkatalog. Der Wert 0 besagt dabei, dass die Beziehung <b>Referenzielle Integrit&auml;t <\/b>fordert. Ist dies nicht der Fall, so steht hier eine 2. Die Zahl 33554434 ergibt sich aus der booleschen Addition von <b>dbRelationRight<\/b> (33554432) mit <b>dbRelationDontEnforce<\/b> (2), was eine <b>Right-Verkn&uuml;pfung<\/b> ohne <b>Referenzielle Integrit&auml;t <\/b>symbolisiert. Damit Sie den Typ nicht langwierig &uuml;ber die Analyse der Konstanten im Objektkatalog ermitteln m&uuml;ssen, gibt es im Modul <b>mdlDAORelations<\/b> die Funktion <b>AttributesString<\/b>, der Sie die <b>Attributes<\/b>-Konstante als Parameter &uuml;bergeben und als R&uuml;ckgabe eine Textrepr&auml;sentation des Typs erhalten:<\/p>\n<pre>  AttributesString(2)\r\n> 1:n,Keine Ref. Integrit&auml;t\r\n  AttributesString(33554434)\r\n> 1:n,<span style=\"color:blue;\">Right<\/span> Join,Keine Ref. Integrit&auml;t<\/pre>\n<p>Sie k&ouml;nnen, statt die <b>Relation<\/b>-Methoden explizit anzugeben, auch deren <b>Properties<\/b> auslesen (Listing 3), und kommen damit zum gleichen Resultat:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>GetRelationsProps()\r\n     <span style=\"color:blue;\">Dim <\/span>dbs<span style=\"color:blue;\"> As <\/span>Database\r\n     <span style=\"color:blue;\">Dim <\/span>rel<span style=\"color:blue;\"> As <\/span>DAO.Relation\r\n     <span style=\"color:blue;\">Dim <\/span>daoPrp<span style=\"color:blue;\"> As <\/span>DAO.Property\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> dbs = CurrentDb\r\n     For Each rel In dbs.Relations\r\n         <span style=\"color:blue;\">Debug.Print<\/span> rel.Name\r\n         For Each daoPrp In rel.Properties\r\n             <span style=\"color:blue;\">Debug.Print<\/span> , _\r\n                 daoPrp.Name, _\r\n                 daoPrp.Value\r\n         <span style=\"color:blue;\">Next<\/span> daoPrp\r\n     <span style=\"color:blue;\">Next<\/span> rel\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 3: Durchlaufen der Properties-Auflistungen der  Relations<\/p>\n<pre>tblAnredentblAdressen\r\n     Name tblAnredentblAdressen\r\n     Table tblAnreden\r\n     ForeignTable tblAdressen\r\n     Attributes 2 \r\n     PartialReplica Falsch\r\ntblLaendertblAdressen\r\n     Name tblLaendertblAdressen\r\n     Table tblLaender\r\n     ForeignTable tblAdressen\r\n     Attributes 33554434 \r\n     PartialReplica Falsch\r\ntblOrtetblAdressen\r\n     Name tblOrtetblAdressen\r\n     Table tblOrte\r\n     ForeignTable tblAdressen\r\n     Attributes 0 \r\n    PartialReplica Falsch<\/pre>\n<p>Hier schleicht sich noch die Eigenschaft <b>PartialReplica<\/b> ein, die uns nicht weiter interessiert, weil sie nur f&uuml;r replizierte Datenbanken von Belang ist, die ohnehin seit geraumer Zeit nicht mehr direkt von Access unterst&uuml;tzt werden.<\/p>\n<p>Nun haben wir zwar die Tabellen einer Beziehung ermittelt, wissen aber noch nicht, welche Felder genau aus ihnen miteinander verkn&uuml;pft sind. Die <b>Fields<\/b>-Auflistung eines <b>Relation<\/b>-Objekts jedoch gibt uns dar&uuml;ber Auskunft. Sie kann auf analoge Weise durchlaufen werden, wie die <b>Properties<\/b> (siehe Listing 4). F&uuml;r jedes Feld <b>fld<\/b> eines <b>Relation<\/b>-Objekts werden hier die Eigenschaften <b>Name<\/b> und <b>ForeignName<\/b> ausgelesen und mit den jeweiligen Tabellennamen kombiniert, so dass sich dieses Ergebnis zeigt:<\/p>\n<pre><span style=\"color:blue;\">Sub <\/span>GetRelationsFields()\r\n     <span style=\"color:blue;\">Dim <\/span>dbs<span style=\"color:blue;\"> As <\/span>Database\r\n     <span style=\"color:blue;\">Dim <\/span>rel<span style=\"color:blue;\"> As <\/span>DAO.Relation\r\n     <span style=\"color:blue;\">Dim <\/span>fld<span style=\"color:blue;\"> As <\/span>DAO.Field\r\n     \r\n     <span style=\"color:blue;\">Set<\/span> dbs = CurrentDb\r\n     For Each rel In dbs.Relations\r\n         <span style=\"color:blue;\">Debug.Print<\/span> rel.Name\r\n         For Each fld In rel.Fields\r\n             <span style=\"color:blue;\">Debug.Print<\/span> , _\r\n                 rel.Table & \".\" & _\r\n                 fld.Name & \" > \" & _\r\n                 rel.ForeignTable & _\r\n                 \".\" & fld.ForeignName\r\n         <span style=\"color:blue;\">Next<\/span> fld\r\n     <span style=\"color:blue;\">Next<\/span> rel\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 4: Durchlaufen der Fields-Auflistungen der  Relations<\/p>\n<pre>tblAnredentblAdressen\r\n   tblAnreden.ID > tblAdressen.IDAnrede\r\ntblLaendertblAdressen\r\n   tblLaender.ID > tblAdressen.IDLand\r\n   tblLaender.Land > tblAdressen.Land\r\ntblOrtetblAdressen\r\n  tblOrte.ID > tblAdressen.IDOrt<\/pre>\n<p>Am zweiten Eintrag zur L&auml;nder-Beziehung wird deutlich, dass zwei Felder verkn&uuml;pft wurden, die <b>Fields<\/b>-Auflistung also zwei Elemente enth&auml;lt. Obwohl &uuml;brigens das Field-Objekt als <b>DAO.Field<\/b> ausgewiesen ist, kennt es nur genau diese zwei Eigenschaften <b>Name<\/b> und <b>ForeignName<\/b>. Alle anderen Methoden des Objekts schlagen hier fehl.<\/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\/55000300\/\">\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\/55000300?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\/55000300\/\"\/>\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>Waren Containers, Documents und Properties Thema der letzten Ausgabe &uuml;ber DAO-Objekte, so geht es diesmal abschlie&szlig;end um Relations und Workspaces. Dabei handelt es sich zum einen um die Abbildung und Manipulation von Tabellenbeziehungen im Objektmodell, zum anderen um die sogenannten Arbeitsbereiche der Access Database Engine. Erfahren Sie, wie Tabellenbeziehungen  einer Datenbank ermittelt und neu angelegt werden k&ouml;nnen.<\/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":[66112015,662015,44000018],"tags":[],"class_list":["post-55000300","post","type-post","status-publish","format-standard","hentry","category-66112015","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>DAO-Objekte und -Auflistungen, Teil II - Access [basics]<\/title>\n<meta name=\"description\" content=\"Waren Containers, Documents und Properties Thema der letzten Ausgabe \u00fcber DAO-Objekte, so geht es diesmal abschlie\u00dfend um Relations und Workspaces. Dabei handelt es sich zum einen um die Abbildung und Manipulation von Tabellenbeziehungen im Objektmodell, zum anderen um die sogenannten Arbeitsbereiche der Access Database Engine. Erfahren Sie, wie Tabellenbeziehungen einer Datenbank ermittelt und neu angelegt werden k\u00f6nnen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DAO-Objekte und -Auflistungen, Teil II - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Waren Containers, Documents und Properties Thema der letzten Ausgabe \u00fcber DAO-Objekte, so geht es diesmal abschlie\u00dfend um Relations und Workspaces. Dabei handelt es sich zum einen um die Abbildung und Manipulation von Tabellenbeziehungen im Objektmodell, zum anderen um die sogenannten Arbeitsbereiche der Access Database Engine. Erfahren Sie, wie Tabellenbeziehungen einer Datenbank ermittelt und neu angelegt werden k\u00f6nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:30+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\/Beziehungsfenster.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=\"17\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\/DAOObjekte_und_Auflistungen_Teil_II.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/Beziehungsfenster.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html\",\"name\":\"DAO-Objekte und -Auflistungen, Teil II - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:30+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Waren Containers, Documents und Properties Thema der letzten Ausgabe \\u00fcber DAO-Objekte, so geht es diesmal abschlie\\u00dfend um Relations und Workspaces. Dabei handelt es sich zum einen um die Abbildung und Manipulation von Tabellenbeziehungen im Objektmodell, zum anderen um die sogenannten Arbeitsbereiche der Access Database Engine. Erfahren Sie, wie Tabellenbeziehungen einer Datenbank ermittelt und neu angelegt werden k\\u00f6nnen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.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\/DAOObjekte_und_Auflistungen_Teil_II.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/DAOObjekte_und_Auflistungen_Teil_II.html\",\"name\":\"DAO-Objekte und -Auflistungen, Teil II\"}}]},{\"@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\/55000300","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=55000300"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000300\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}