{"id":55000619,"date":"2023-02-01T00:00:00","date_gmt":"2023-02-01T00:00:00","guid":{"rendered":"http:\/\/access-basics.de\/619"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Abfragen_basics_Verknuepfungseigenschaften","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html","title":{"rendered":"Abfragen [basics]: Verkn&uuml;pfungseigenschaften"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/4f56d7504326419f8aee1340732ce332\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p class='introduction'>Zwischen den Verkn&uuml;pfungseigenschaften der Beziehung von Tabellen und deren Abbild im Entwurf einer Abfrage gibt es einige Unterschiede. W&auml;hrend man im Beziehungenfenster eher die referenzielle Integrit&auml;t, L&ouml;schweitergabe und Aktualisierungsweitergabe definiert, k&uuml;mmern wir uns im Abfrageentwurf um ganz andere Eigenschaften. Die Stichworte hier lauten Full Join, Left Join, Right Join und Inner Join. Was diese Begriffe bedeuten, erkl&auml;ren wir in diesem Artikel &#8211; und Du erf&auml;hrst auch, f&uuml;r welche Zwecke Du die verschiedenen Join-Typen verwenden kannst.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels findest Du in der Datenbank <b>2301_AbfragenBasics_Verknuepfungseigenschaften.accdb<\/b>.<\/p>\n<h2>Verschiedene Beziehungstypen<\/h2>\n<p>In Microsoft Access ist es in Abfragen m&ouml;glich, Beziehungen zwischen zuvor zum Entwurf hinzugef&uuml;gten Tabellen herzustellen, um die Daten aus beiden Tabellen auf verschiedene Arten zu kombinieren.<\/p>\n<p>Diese Beziehungen werden durch Verkn&uuml;pfungseigenschaften definiert, die im Eigenschaftendialog der Verkn&uuml;pfung zwischen den Tabellen festgelegt werden.<\/p>\n<p>Die Verkn&uuml;pfungseigenschaften steuern, wie Datens&auml;tze in den verkn&uuml;pften Tabellen zusammengef&uuml;hrt werden. Es gibt vier verschiedene Arten von Verkn&uuml;pfungseigenschaften. F&uuml;r diese gibt es sch&ouml;ne englische Bezeichnungen &#8211; passende deutsche Benennungen sind leider nicht verf&uuml;gbar: <\/p>\n<ul>\n<li><b>Inner Join<\/b><\/li>\n<li><b>Left Join<\/b><\/li>\n<li><b>Right Join<\/b><\/li>\n<li><b>Cross Join<\/b><\/li>\n<\/ul>\n<p>Jede dieser Verkn&uuml;pfungseigenschaften hat unterschiedliche Auswirkungen auf die Abfrageergebnisse &#8211; nachfolgen beschrieben anhand von zwei Tabellen, die in einer Abfrage angelegt wurden:<\/p>\n<p>Die <b>Inner Join<\/b>-Verkn&uuml;pfungseigenschaft ist die Standardverkn&uuml;pfung in Access. Wenn diese Eigenschaft ausgew&auml;hlt wird, werden nur die Datens&auml;tze angezeigt, die in beiden verkn&uuml;pften Tabellen vorhanden sind. Dies bedeutet, dass wenn es in einer der beiden Tabellen keinen &uuml;bereinstimmenden Datensatz gibt, dieser in der Abfrage nicht angezeigt wird.<\/p>\n<p>Die <b>Left Join<\/b>-Verkn&uuml;pfungseigenschaft zeigt alle Datens&auml;tze aus der linken (oder ersten) Tabelle an und die &uuml;bereinstimmenden Datens&auml;tze aus der rechten (oder zweiten) Tabelle. Wenn es in der rechten Tabelle keine &uuml;bereinstimmenden Datens&auml;tze gibt, werden diese Felder mit Nullwerten gef&uuml;llt.<\/p>\n<p>Die <b>Right Join<\/b>-Verkn&uuml;pfungseigenschaft funktioniert &auml;hnlich wie die <b>Left Join<\/b>-Verkn&uuml;pfung, zeigt aber alle Datens&auml;tze aus der rechten Tabelle an und die &uuml;bereinstimmenden Datens&auml;tze aus der linken Tabelle.<\/p>\n<p>Wenn es in der linken Tabelle keine &uuml;bereinstimmenden Datens&auml;tze gibt, werden diese Felder mit Nullwerten gef&uuml;llt.<\/p>\n<p>Die <b>Cross Join<\/b>-Verkn&uuml;pfung kann man nicht per Eigenschaftseinstellung abbilden &#8211; sie ist schlicht eine nicht vorhandene Beziehung und zeigt die Kombinationen der Datens&auml;tze aus beiden Tabellen an, unabh&auml;ngig davon, ob es eine &Uuml;bereinstimmung gibt oder nicht.<\/p>\n<h2>Verkn&uuml;pfungstypen umsetzen<\/h2>\n<p>Nun schauen wir uns die Verkn&uuml;pfungstypen in der Praxis an. Dazu ziehen wir einfach zwei Tabellen der Beispieldatenbank in eine neue, leere Abfrage. Im Beispiel verwenden wir die beiden Tabellen <b>tblArtikel <\/b>und <b>tblKategorien<\/b>. Wie wir in Bild 1 sehen, f&uuml;gt Access automatisch die Beziehung hinzu, wie wir sie im Beziehungen-Fenster definiert haben.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_001.png\" alt=\"Beim Hinzuf&uuml;gen von Tabellen &uuml;bernimmt Access die Beziehungen aus dem Beziehungen-Fenster.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Beim Hinzuf&uuml;gen von Tabellen &uuml;bernimmt Access die Beziehungen aus dem Beziehungen-Fenster.<\/p>\n<p>Wenn Du keine weiteren Einstellungen im Beziehungen-Fenster vorgenommen hast, landet also genau die dort definierte Beziehung auch in der Abfrage.<\/p>\n<h2>Der Verkn&uuml;pfungstyp &#8222;Inner Join&#8220;<\/h2>\n<p>Dabei handelt es sich um den Typ <b>Inner Join<\/b>. Dies gilt unabh&auml;ngig davon, ob f&uuml;r die Beziehung referenzielle Integrit&auml;t definiert wurde oder nicht &#8211; dies hat auf die Anzeige der Daten im Abfrageergebnis keine Auswirkung. In der Abfrage <b>qryArtikelKategorien <\/b>haben wir nun einige Felder aus beiden Tabellen in das Entwurfsraster der Abfrage gezogen.<\/p>\n<p>Wechseln wir in die Datenblattansicht der Abfrage, um das Ergebnis anzuzeigen, sehen wir alle Kombinationen aus Datens&auml;tzen der beiden Tabellen <b>tblArtikel <\/b>und <b>tblKategorien<\/b> (siehe Bild 2). Es kann sein, dass es Eintr&auml;ge in der Tabelle <b>tblKategorien <\/b>gibt, die noch keinem Artikel zugewiesen sind &#8211; diese werden dann in dieser Abfrage einfach nicht angezeigt. Da wir f&uuml;r die Beziehung zwischen den Tabellen <b>tblArtikel <\/b>und <b>tblKategorien <\/b>referenzielle Integrit&auml;t definiert haben, kann es hingegen keinen Datensatz in der Tabelle <b>tblArtikel <\/b>geben, der nicht mit einem Datensatz der Tabelle <b>tblKategorien <\/b>verkn&uuml;pft ist.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_002.png\" alt=\"Ergebnis einer Inner Join-Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Ergebnis einer Inner Join-Abfrage<\/p>\n<h2>Der Verkn&uuml;pfungstyp &#8222;Cross Join&#8220;<\/h2>\n<p>Dieser Verkn&uuml;pfungstyp sieht vor, dass jede Kombination aus den Datens&auml;tzen der ersten Tabelle mit den Datens&auml;tzen der zweiten Tabelle abgebildet wird. Um dies f&uuml;r die vorherige Abfrage zu erreichen, m&uuml;ssen wir lediglich den Verkn&uuml;pfungspfeil zwischen den beiden Tabellen entfernen, indem wir diesen markieren und die <b>Entf<\/b>-Taste bet&auml;tigen (siehe Bild 3).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_003.png\" alt=\"Entwurf einer Cross Join-Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Entwurf einer Cross Join-Abfrage<\/p>\n<p>Das Ergebnis der Abfrage sehen wir in Bild 4. Das Ergebnis ist &uuml;berschaubar, da die Tabelle <b>tblArtikel<\/b> der Beispieldatenbank nur vier Datens&auml;tze enth&auml;lt und die Tabelle <b>tblKategorien <\/b>nur drei. Alle Kombinationen dieser Datens&auml;tze liefern also 3 x 4 gleich 12 Datens&auml;tze.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_004.png\" alt=\"Ergebnis einer Cross Join-Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Ergebnis einer Cross Join-Abfrage<\/p>\n<h2>Einsatzzwecke f&uuml;r &#8222;Cross Join&#8220;-Abfragen<\/h2>\n<p>Sinnvoll einsetzen kann man eine solche Abfrage beispielsweise dort, wo es verschiedene Eigenschaften f&uuml;r eine Entit&auml;t gibt &#8211; beispielsweise Farbe und Gr&ouml;&szlig;e.<\/p>\n<p>Dann kann man durch eine Cross Join-Verkn&uuml;pfung der beiden Tabellen mit den Farben und Gr&ouml;&szlig;en alle Kombinationen ausgeben.<\/p>\n<h2>Die Verkn&uuml;pfungstypen &#8222;Left Join&#8220; und &#8222;Right Join&#8220;<\/h2>\n<p>Diese beiden Verkn&uuml;pfungstypen sind prinzipiell gleich, denn sie unterscheiden sich nur dadurch, auf welcher Seite der Beziehung welche Tabelle steht.<\/p>\n<p>Um eine Abfrage mit zwei Tabellen zu erstellen, die mit einem dieser Verkn&uuml;pfungstypen miteinander verkn&uuml;pft sind, ben&ouml;tigen wir erst einmal eine herk&ouml;mmliche Verkn&uuml;pfung. Dann klicken wir entweder doppelt auf den Verkn&uuml;pfungspfeil und zeigen so den Dialog <b>Verkn&uuml;pfungseigenschaften <\/b>an oder klicken mit der rechten Maustaste auf den Verkn&uuml;pfungspfeil und w&auml;hlen den Eintrag <b>Verkn&uuml;pfungseigenschaften <\/b>aus dem Kontextmen&uuml; aus. Dieser Dialog zeigt die an der Beziehung beteiligten Tabellen und die verkn&uuml;pften Felder an (siehe Bild 5). Au&szlig;erdem liefert er die Art der Verkn&uuml;pfung:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_005.png\" alt=\"Anzeigen der Verkn&uuml;pfungseigenschaften\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Anzeigen der Verkn&uuml;pfungseigenschaften<\/p>\n<p><b>1<\/b>: <b>Inner Join<\/b><\/p>\n<p><b>2<\/b>: <b>Left Join<\/b><\/p>\n<p><b>3<\/b>: <b>Right Join<\/b><\/p>\n<p>Zur Erinnerung: Um die vierte Art der Verkn&uuml;pfung (<b>Cross Join<\/b>) zu erhalten, entfernen wir den Verkn&uuml;pfungspfeil einfach.<\/p>\n<p>Wenn wir die Tabelle <b>tblKategorien <\/b>unter <b>Linker Tabellenname<\/b> vorfinden und <b>tblArtikel <\/b>unter <b>Rechter Tabellenname<\/b>, bedeutet die zweite Option einen <b>Left Join <\/b>zwischen diesen beiden Tabellen und die dritte Option einen <b>Right Join<\/b> (siehe Bild 6).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_006.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_006.png\" alt=\"Verkn&uuml;pfungseigenschaften mit Left Join\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 6: Verkn&uuml;pfungseigenschaften mit Left Join<\/p>\n<p>In der Entwurfsansicht haben wir die beiden Tabellen nun so angeordnet, dass ihre Position die Bezeichnung in den Verkn&uuml;pfungseigenschaft widerspiegelt. Auch haben wir die Felder der Tabelle <b>tblKategorien <\/b>links im Entwurfsraster platziert und die der Tabelle <b>tblArtikel <\/b>auf der rechten Seite. Der offensichtliche Unterschied seit der Umstellung auf eine <b>Left Join<\/b>-Verkn&uuml;pfung ist die Pfeilspitze des Verkn&uuml;pfungspfeils (siehe Bild 7).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_007.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_007.png\" alt=\"Left Join-Verkn&uuml;pfung zwischen den beiden Tabellen tblKategorien und tblArtikel\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 7: Left Join-Verkn&uuml;pfung zwischen den beiden Tabellen tblKategorien und tblArtikel<\/p>\n<p>Wechseln wir zur Datenblattansicht, sehen wir, dass die Abfrage alle Datens&auml;tze der Tabelle <b>tblKategorien <\/b>liefert (siehe Bild 8). Dabei gibt es drei Konstellationen:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_008.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_008.png\" alt=\"Die Left Join-Verkn&uuml;pfung liefert alle Datens&auml;tze der \"linken Tabelle\"\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 8: Die Left Join-Verkn&uuml;pfung liefert alle Datens&auml;tze der &#8222;linken Tabelle&#8220;<\/p>\n<ul>\n<li>Wenn mit dieser Kategorie kein Datensatz der Tabelle <b>tblArtikel <\/b>verkn&uuml;pft ist, zeigt der Datensatz der Abfrage nur die Werte der Felder der Tabelle <b>tblKategorien <\/b>an und die Felder der Tabelle <b>tblArtikel <\/b>bleiben leer (siehe <b>Kategorie 1<\/b>).<\/li>\n<li>Wenn mit dieser Kategorie genau ein Datensatz der Tabelle <b>tblArtikel <\/b>verkn&uuml;pft ist, erscheint auch diese Kategorie genau einmal im Abfrageergebnis (siehe <b>Kategorie 3<\/b>).<\/li>\n<li>Gibt es jedoch mehr als einen Artikel, der mit der jeweiligen Tabelle verkn&uuml;pft ist, dann erscheint die Kategorie f&uuml;r jeden verkn&uuml;pften Artikel einmal im Abfrageergebnis (siehe <b>Kategorie 2<\/b>).<\/li>\n<\/ul>\n<h2>Anwendungsf&auml;lle f&uuml;r die &#8222;Left Join&#8220;-Verkn&uuml;pfung<\/h2>\n<p>Hieraus lassen sich zwei sinnvolle Anwendungszwecke ableiten:<\/p>\n<ul>\n<li>Ermittlung aller Datens&auml;tze der linken Tabelle, die mit keinem Datensatz der rechten Tabelle verkn&uuml;pft sind und<\/li>\n<li>Ermittlung aller Datens&auml;tze der linken Tabelle, die mit mindestens einem Datensatz der rechten Tabelle verkn&uuml;pft sind.<\/li>\n<\/ul>\n<h2>Ermitteln aller Datens&auml;tze der linken Tabelle ohne Datensatz in der rechten Tabelle<\/h2>\n<p>Den ersten Fall k&ouml;nnen wir sehr einfach abbilden. Dazu hinterlegen wir einfach ein Kriterium f&uuml;r das Prim&auml;rschl&uuml;sselfeld der rechten Tabelle, nach der dieser Wert <b>Null <\/b>sein soll. Das sieht wie in Bild 9 aus.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_009.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_009.png\" alt=\"Setzen eines Parameters, um alle Kategorien ohne Artikel zu finden\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 9: Setzen eines Parameters, um alle Kategorien ohne Artikel zu finden<\/p>\n<p>Wechseln wir in die Datenblattansicht, sehen wir alle Kategorien ohne Artikel &#8211; in diesem Fall nur der eine, den wir auch schon vorher identifizieren konnten, nur eben nicht als alleinigen Datensatz eines Abfrageergebnisses (siehe Bild 10).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_010.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_010.png\" alt=\"Anzeigen der Kategorie, die keinem Artikel zugeordnet ist\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 10: Anzeigen der Kategorie, die keinem Artikel zugeordnet ist<\/p>\n<h2>Ermitteln aller Datens&auml;tze der linken Tabelle mit Datens&auml;tzen in der rechten Tabelle<\/h2>\n<p>Den zweiten Anwendungsfall k&ouml;nnen wir nun auf zwei Arten abbilden. Nachdem wir wissen, welche Datens&auml;tze der Tabelle <b>tblKategorien <\/b>keinen verkn&uuml;pften Datensatz in der Tabelle <b>tblArtikel <\/b>haben, k&ouml;nnten wir erstens eine Abfrage erstellen, welche nur die Tabelle <b>tblKategorien<\/b> enth&auml;lt und eine Unterabfrage &auml;hnlich der soeben erstellten Abfrage als Kriterium des Feldes <b>KategorieID <\/b>angeben. Also &#8222;liefere mir alle Kategorien, deren Wert im Feld <b>KategorieID <\/b>nicht in der Abfrage enthalten ist, die alle nicht verkn&uuml;pften Kategorien enth&auml;lt&#8220;.<\/p>\n<p>Der zweite Ansatz, den wir nun vorstellen, ist allerdings n&auml;her am Thema dieses Artikels. Dabei negieren wir einfach das Kriterium f&uuml;r das Feld <b>ArtikelID<\/b> der rechten Tabelle, also <b>tblArtikel <\/b>(siehe Bild 11).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_011.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_011.png\" alt=\"Abfrage zur Ermittlung aller Kategorien mit mindestens einer Kategorie\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 11: Abfrage zur Ermittlung aller Kategorien mit mindestens einer Kategorie<\/p>\n<p>Das Ergebnis aus Bild 12 offenbart allerdings noch einen kleinen Sch&ouml;nheitsfehler: Die Kategorie, die zwei Artikel zugewiesen ist, wird auch zwei Mal im Abfrageergebnis aufgef&uuml;hrt. Dies k&ouml;nnen wir allerdings nicht durch Verkn&uuml;pfungseigenschaften oder Kriterien beheben, sondern durch eine Eigenschaft der Abfrage.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_012.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_012.png\" alt=\"Anzeige aller Kategorien mit mindestens einer Kategorie\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 12: Anzeige aller Kategorien mit mindestens einer Kategorie<\/p>\n<p>Sollten die Eigenschaften nicht angezeigt werden, klicke mit der rechten Maustaste auf den grauen Hintergrund des oberen Bereichs der Abfrage und w&auml;hle aus dem Kontextmen&uuml; den Eintrag <b>Eigenschaften <\/b>aus. Danach erscheinen die Eigenschaften der Abfrage wie in Bild 13. Hier kannst Du nun den Wert der Eigenschaft <b>Keine Duplikate <\/b>auf <b>Ja <\/b>einstellen. Die Abfrage liefert nun jeden Datensatz nur noch einmal, wenn es es mehrere Exemplare mit exakt den gleichen Feldinhalten gibt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_013.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_013.png\" alt=\"Einstellen der Eigenschaft Keine Duplikate auf den Wert Ja\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 13: Einstellen der Eigenschaft Keine Duplikate auf den Wert Ja<\/p>\n<p>Danach erhalten wir jeden Datensatz des Abfrageergebnisses nur noch einmal. Wichtig hierf&uuml;r ist, dass keine Felder der &#8222;rechten Tabelle&#8220; im Abfrageergebnis erscheinen, denn dann sind die Datens&auml;tze nicht mehr eindeutig und wir erhalten nicht mehr das gew&uuml;nschte Ergebnis.<\/p>\n<h2>&#8222;Right Join&#8220;-Verkn&uuml;pfungen<\/h2>\n<p>Nachdem wir nun die <b>Left Join<\/b>-Verkn&uuml;pfung kennen: Was fangen wir nun mit <b>Right Join<\/b>-Verkn&uuml;pfungen an Dazu stellen wir die Eigenschaft der Verkn&uuml;pfung zwischen den beiden Tabellen <b>tblKategorien <\/b>als linker Tabelle und <b>tblArtikel <\/b>als rechter Tabelle auf den Wert <b>2 <\/b>ein (siehe Bild 14).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_014.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_014.png\" alt=\"Definition einer Right Join-Verkn&uuml;pfung\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 14: Definition einer Right Join-Verkn&uuml;pfung<\/p>\n<p>Normalerweise w&uuml;rde man f&uuml;r einen Artikel immer eine Kategorie ausw&auml;hlen, in diesem Fall haben wir jedoch f&uuml;r einen Artikel den Wert <b>Null <\/b>f&uuml;r das Feld <b>KategorieID <\/b>eingestellt. Dadurch erhalten wir als Abfrageergebnis die Datenblattansicht aus Bild 15. Hier sehen wir diesmal, dass alle Datens&auml;tze der Tabelle <b>tblArtikel <\/b>angezeigt werden und nur die Werte der Tabelle <b>tblKategorien<\/b>, wo ein mit einem Artikel verkn&uuml;pfter Datensatz vorliegt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_015.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_015.png\" alt=\"Ergebnis einer Right Join-Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 15: Ergebnis einer Right Join-Abfrage<\/p>\n<h2>Anwendungsf&auml;lle f&uuml;r die &#8222;Right Join&#8220;-Verkn&uuml;pfung<\/h2>\n<p>Auch hier k&ouml;nnten wir nun Untersuchungen durchf&uuml;hren, mit denen wir alle Artikel ermitteln, die noch keiner Kategorie zugeordnet sind oder alle Artikel, die bereits eine Kategorie haben.<\/p>\n<h2>Verkn&uuml;pfungstyp voreinstellen<\/h2>\n<p>Um diesen Artikel zu vervollst&auml;ndigen, m&uuml;ssen wir auf die M&ouml;glichkeit eingehen, die Verkn&uuml;pfungseigenschaften im <b>Beziehungen<\/b>-Fenster einzustellen. Klickst Du hier doppelt auf einen Beziehungspfeil und klickst im dann erscheinenden Dialog <b>Beziehungen bearbeiten <\/b>die Schaltfl&auml;che <b>Verkn&uuml;pfungstyp&#8230; <\/b>an, erscheint ein Dialog namens <b>Verkn&uuml;pfungseigenschaften<\/b> (siehe Bild 16). Dieser ist gegen&uuml;ber dem aus dem Abfrageentwurf etwas weniger umfangreich und er bietet nur die drei Verkn&uuml;pfungsarten an. Der Sinn ist nicht direkt offensichtlich, denn die Einstellung wirkt sich nicht auf die Beziehung aus. Allerdings verwendet Access sie als Standardwert f&uuml;r Abfragen, der wir die an dieser Beziehung beteiligten Tabellen und somit auch die Beziehung hinzuf&uuml;gen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_619_016.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_619_016.png\" alt=\"Voreinstellen der Verkn&uuml;pfungseigenschaften im Beziehungen-Fenster\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 16: Voreinstellen der Verkn&uuml;pfungseigenschaften im Beziehungen-Fenster<\/p>\n<p>Allerdings ist uns kein Einsatzzweck bekannt, bei dem man &uuml;berwiegend mit <b>Left Join<\/b>&#8211; oder <b>Right Join<\/b>-Verkn&uuml;pfungen arbeiten w&uuml;rde und wo diese Einstellung daher sinnvoll w&auml;re. <\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>2301_AbfragenBasics_Verknuepfungseigenschaften.accdb<\/p>\n<p><a href=\"..\/Downloads\/Beispiele\/{195A15D2-BFC8-4A08-B1BD-3B06C13125F4}\/AbfragenBasics_Verknuepfungseigenschaften.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zwischen den Verkn&uuml;pfungseigenschaften der Beziehung von Tabellen und deren Abbild im Entwurf einer Abfrage gibt es einige Unterschiede. W&auml;hrend man im Beziehungenfenster eher die referenzielle Integrit&auml;t, L&ouml;schweitergabe und Aktualisierungsweitergabe definiert, k&uuml;mmern wir uns im Abfrageentwurf um ganz andere Eigenschaften. Die Stichworte hier lauten Full Join, Left Join, Right Join und Inner Join. Was diese Begriffe bedeuten, erkl&auml;ren wir in diesem Artikel &#8211; und Du erf&auml;hrst auch, f&uuml;r welche Zwecke Du die verschiedenen Join-Typen verwenden kannst.<\/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":[66012023,662023,44000006],"tags":[],"class_list":["post-55000619","post","type-post","status-publish","format-standard","hentry","category-66012023","category-662023","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>Abfragen [basics]: Verkn&uuml;pfungseigenschaften - Access [basics]<\/title>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Abfragen [basics]: Verkn&uuml;pfungseigenschaften - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Zwischen den Verkn&uuml;pfungseigenschaften der Beziehung von Tabellen und deren Abbild im Entwurf einer Abfrage gibt es einige Unterschiede. W&auml;hrend man im Beziehungenfenster eher die referenzielle Integrit&auml;t, L&ouml;schweitergabe und Aktualisierungsweitergabe definiert, k&uuml;mmern wir uns im Abfrageentwurf um ganz andere Eigenschaften. Die Stichworte hier lauten Full Join, Left Join, Right Join und Inner Join. Was diese Begriffe bedeuten, erkl&auml;ren wir in diesem Artikel - und Du erf&auml;hrst auch, f&uuml;r welche Zwecke Du die verschiedenen Join-Typen verwenden kannst.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-01T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/4f56d7504326419f8aee1340732ce332\" \/>\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\/Abfragen_basics_Verknuepfungseigenschaften.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"http:\/\/vg07.met.vgwort.de\/na\/4f56d7504326419f8aee1340732ce332\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html\",\"name\":\"Abfragen [basics]: Verkn&uuml;pfungseigenschaften - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html#primaryimage\"},\"datePublished\":\"2023-02-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.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\/Abfragen_basics_Verknuepfungseigenschaften.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Verknuepfungseigenschaften.html\",\"name\":\"Abfragen [basics]: Verkn&uuml;pfungseigenschaften\"}}]},{\"@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\/55000619","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=55000619"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000619\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}