 |
Inklusionsverknⁿpfungen in Access
Ich habe unter Access 7.0 eine Datenbank angelegt. Dabei habe ich zwei Tabellen mit einer linken Inklusionsverknⁿpfung in eine 1:N-Beziehung gesetzt. Wenn ich nun eine Abfrage durchfⁿhre, erhalte ich dennoch nur das Ergebnis eines Inner Join. Liegt das an mir oder ist dies ein Fehler von Access?
Hierbei ist wohl eher von einem Mi▀verstΣndnis als von einem Fehler zu sprechen. Der Abfragegenerator von Access ⁿberfⁿhrt Ihre Kommandos in eine SQL-Anweisung. Dabei greift er auch auf Informationen aus der Datenbankdefinition zurⁿck. Wenn Sie nach dem Anlegen der Abfrage in der Datenbankdefinition ─nderungen vornehmen, reagiert der Abfragegenerator nicht mehr darauf. Deutlich wird dieses Verhalten zum Beispiel, wenn Sie eine Tabelle aus der Datenbank l÷schen. Beim nΣchsten Start einer Abfrage, die auf die gel÷schte Tabelle zugreifen m÷chte, erhalten Sie eine Fehlermeldung.
Unbemerkt bleibt hingegen das ─ndern von Beziehungen: Da sie alle notwendigen Elemente auffinden kann, gibt die SQL-Engine eine Datenmenge zurⁿck. Da▀ deren Inhalt vielleicht anders als vor der ─nderung aussieht, ist elementarer Bestandteil der deklarativen Sprache SQL. Es bleibt nun Ihnen ⁿberlassen, die n÷tigen ─nderungen innerhalb der betroffenen Abfragen von Hand vorzunehmen.
In Ihrem Fall hat sicherlich der Abfragegenerator beim Anlegen eine rechte Inklusionsverknⁿpfung gefunden und daraufhin entsprechend einen Right Join angelegt. Auch wenn Sie nachtrΣglich die Definition in der Datenbank auf eine linke Inklusionsverknⁿpfung Σndern, bleibt der Right Join in der Abfrage erhalten. Dieses Verhalten ist insbesondere dann von Bedeutung, wenn Sie Daten entgegen der typischen Verknⁿpfung auswerten wollen.
Um das Problem zu beheben, ÷ffnen Sie die betreffende Abfrage in der SQL-Ansicht und tauschen dort einfach das Wort Right gegen Left aus. Dann sollten Sie die Ergebnisse wie gewⁿnscht angezeigt bekommen.
|
 |