Abfragen von nicht verbundenen Tabellen

Ihr Browser unterstützt kein Video. Installieren Sie Microsoft Silverlight, Adobe Flash Player oder Internet Explorer 9.

Manchmal müssen Sie eine Abfrage erstellen, um Informationen aus Datenquellen abzurufen, die keine direkte Beziehung (1:1 oder 1:n) aufweisen.

Verwenden von Zwischentabellen zum Verbinden von Datenquellen in Abfragen

Wenn Sie eine Abfrage ausführen, verwendet Access die von Ihnen zwischen Tabellen erstellten Beziehungen und leitet daraus Verbindungen zwischen anderen Datenquellen ab oder erstellt diese Verbindungen. Wenn die Beziehung, die Sie für eine Abfrage benötigen, nicht vorhanden ist, verbinden Sie die Tabellen als Teil dieser Abfrage.

Angenommen, dass Sie sehen möchten, wie viele Aufträge Sie für Produkte von verschiedenen Lieferanten erhalten haben. Ihre Tabelle "Lieferanten" ist nicht mit Ihrer Tabelle "Bestelldetails" verbunden, in der die Produkt-IDs und die Mengeninformationen enthalten sind. Allerdings ist die Tabelle "Aufträge" mit der Tabelle "Bestelldetails" verbunden.

Mehrere Tabellendatenquellen, mit und ohne vordefinierte Beziehungen

Tipp : Wenn Sie diese Beziehung außerhalb der gerade erstellten Abfrage vielleicht benötigen, erstellen Sie am besten eine Zwischenbeziehung für spätere Verwendung. Entsprechende Anweisungen dazu finden Sie unter Erstellen von m:n-Beziehungen.

Wenn Sie die Zwischentabelle nicht in Ihrer Datenbank erstellen möchten, verwenden Sie die Tabelle "Aufträge" als Zwischentabelle in Ihrer Abfrage. Fügen Sie die Tabelle "Lieferanten" links neben der Tabelle "Aufträge" hinzu, und erstellen Sie eine Verbindung.

Verwenden einer Tabelle zum indirekten Verbinden von zwei anderen Tabellen

Die Tabelle "Aufträge" verbindet die beiden verschiedenen Tabellen "Lieferanten" und "Bestelldetails". Verbinden Sie die Tabellen mithilfe von Feldern (z. B. das Feld "ID" in der Tabelle "Lieferanten" und das Feld "Lieferanten-ID" in der Tabelle "Aufträge"), die die folgenden Kriterien erfüllen:

  • Beide Felder haben übereinstimmende oder kompatible Datentypen. So können Sie beispielsweise ein Textfeld nicht mit einem Zahlenfeld verbinden.

  • Die Felder identifizieren übereinstimmende, eindeutige Datensätze in jeder Tabelle. So würden Sie beispielsweise keine zwei Felder "Nachname" verbinden, weil Nachnamen nicht immer eindeutig sind.

  • Die Felder stellen sicher, dass sich die richtigen Datensätze ergeben. Wenn Sie beispielsweise "Lieferanten-ID" mit "Kauf-ID" verbinden, erhalten Sie bei ähnlichen IDs eventuell einige Übereinstimmungen. Diese Ergebnisse wären aber nicht sinnvoll, weil die "Lieferanten-ID" mit der "Kauf-ID" nichts zu tun hat. Eine bessere Option ist das Verbinden von "ID" aus der Tabelle "Lieferanten" mit "Lieferanten-ID" in der Tabelle "Aufträge". Die dann zurückgegebenen Datensätze sind sinnvoll, weil beide Felder den Lieferanten identifizieren.

Schritte

Unabhängig davon, ob Ihre Datenbank bereits eine Zwischentabelle enthält oder Sie eine solche Tabelle in Ihrer Abfrage verwenden möchten, führen Sie die folgenden Schritte aus:

  1. Fügen Sie die Zwischentabelle Ihrer Abfrage zwischen den beiden nicht verbundenen Tabellen hinzu.

  2. Erstellen Sie alle erforderlichen Verbindungen mit der Zwischentabelle.

    Verbindungen können jeden geeigneten Verknüpfungstyp verwenden, müssen aber über Felder verbunden werden, die die weiter oben in diesem Modul beschriebenen Kriterien erfüllen.

    Erstellen der erforderlichen Verbindungen mit der Zwischentabelle
  3. Schließen Sie die Abfrage ab.

    Führen Sie die üblichen Schritte zum Erstellen einer Abfrage aus: Ausgabefelder hinzufügen, beliebige Kriterien hinzufügen und dann die Abfrage ausführen oder speichern. Entsprechende Anweisungen finden Sie unter Erstellen von einfachen Abfragen.

    Hinweis : Sie müssen die Zwischentabelle nicht in Ihre Ergebnisse einbeziehen. Sie muss lediglich ein Teil der Datenquellen für die Abfrage sein, damit Access die Daten verbinden kann.

Weitere Tipps gefällig?

Erstellen von einfachen Abfragen

Erstellen von Abfragen durch Verknüpfen mehrerer Datenquellen

Erstellen von Abfragen mit äußeren Verknüpfungen

Excel-Schulung

Outlook-Schulung

Manchmal müssen Sie Tabellen oder andere Datenquellen abfragen, die nicht verwandt sind und keine Verknüpfung teilen. Dafür gibt es zwei Möglichkeiten.

Sie können eine Zwischentabelle verwenden, das heißt, eine Tabelle, die Verknüpfungen mit den von Ihnen gewünschten Datenquellen teilt.

Oder Sie können eine Verknüpfung hinzufügen.

Ich beginne mit der Zwischentabelle. In dieser Beispieldatenbank müssen die Mitarbeiter für jeden Auftrag einen Status eingeben, vergessen aber manchmal diese Eingabe.

Die Frage, die Sie beantworten möchten, lautet: "Welche Aufträge haben keinen Status, und welche Mitarbeiter haben die Eingabe vergessen?"

Zunächst sieht es so aus, als ob drei Tabellen für die Abfrage erforderlich wären: "Mitarbeiter", "Aufträge" und "Status der Bestelldetails", weil sie den Datenpunkten in den Fragen entsprechen: "Welche Aufträge haben keinen Status, und welche Mitarbeiter haben die Eingabe vergessen?"

Ich füge die Tabellen zur Abfrage hinzu. Dann kann ich sehen, dass diese beiden Tabellen nicht verknüpft sind. Das macht aber nichts, oder? Ich kann eine Verknüpfung hinzufügen.

Ich verknüpfe also die ID-Felder, führe die Abfrage aus und ... nichts.

Deshalb tue ich jetzt das, was ich zuerst hätte tun sollen, und schaue mir die Beziehungen zwischen den Tabellen an.

Dann sehe ich eine Art von Beziehungskette: "Mitarbeiter"-zu-"Aufträge", "Aufträge"-zu-"Bestelldetails" und "Bestelldetails"-zu-"BestelldetailsStatus".

"Aufträge" und "BestelldetailsStatus" sind nicht verwandt, "Bestelldetails" dagegen ist mit beiden verwandt. Damit wird "Bestelldetails" zu meiner Zwischentabelle.

Dies wiederum führt zu folgender Regel: Solange die Zwischentabellen ein Bestandteil Ihrer Datenquelle sind, können Sie diese nicht verwandten Tabellen abfragen und erhalten ein gültiges Ergebnis.

Sie müssen die Zwischentabelle nicht in Ihre Ergebnisse einbeziehen, doch sie muss ein Teil der Datenquelle für Ihre Abfrage sein.

Folglich füge ich "Bestelldetails" zur Abfrage hinzu, ... behalte die Felder bei ... und führe die Abfrage aus.

Ich filtere nach leeren Werten, ... und hier ist die gesuchte Antwort.

Nun füge ich einer Abfrage eine Verknüpfung hinzu. Dazu müssen einige weitere Regeln berücksichtigt werden.

Erstens: Die zu verknüpfenden Tabellen oder Abfragen müssen Felder mit übereinstimmenden oder kompatiblen Datentypen enthalten.

Beispielsweise sind die Datentypen "Zahl" und "Währung" kompatibel, nicht aber "Zahl" und "Text".

Zweitens: Die erstellte Verknüpfung befindet sich nur in Ihrer Abfrage. Sie erstellen hier keine Tabellenbeziehung.

Und drittens: Die Ergebnisse sollten sinnvoll sein. Wenn die Verknüpfung beispielsweise Daten zu Aufträgen und Firmenwagen zurückgibt, sollten Sie lieber von vorn beginnen.

Nehmen wir an, ich muss wissen, welche Kunden welche Produkte bestellt haben.

Ich füge "Kunden", "Aufträge" und "Bestelldetails" zu einer neuen Abfrage hinzu. Und jetzt füge ich die Verknüpfung hinzu. Ich ziehe "Kunden-ID" aus der Tabelle "Kunden" auf das übereinstimmende Feld in der Tabelle "Aufträge".

Hier ist die Verknüpfungslinie, und jetzt gibt es noch eine Regel: Access platziert das gezogene Feld links neben der neuen Verknüpfung. Wenn Sie das nicht möchten, wählen Sie die Verknüpfungslinie aus, drücken Sie ENTF, und beginnen Sie von vorn.

Nachdem ich das berücksichtigt habe, kann ich meine Abfrage erstellen. Ich füge "Vorname" und "Nachname" aus "Kunden", dann "Produkt-ID", ... "Auftrags-ID", ... "Menge" ... und "Einzelpreis" aus "Bestelldetails" hinzu.

Ich führe die Abfrage aus, und hier sind die gesuchten Daten.

Nun kennen Sie zwei Verfahren, die Sie beim Abfragen von nicht verwandten Datenquellen einsetzen können: Verwendung einer Zwischentabelle oder Hinzufügen einer Verknüpfung. Dann erhalten Sie die Antworten auf Ihre Datenfragen.

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×