MS Access - Assistent für nicht übereinstimmende Abfragen
In Access gibt es einen weiteren sehr nützlichen Assistenten Find Unmatched Query Wizard. Der Assistent zum Suchen nicht übereinstimmender Abfragen erstellt eine Abfrage, die Datensätze oder Zeilen in einer Tabelle findet, die keine zugehörigen Datensätze in einer anderen Tabelle enthalten.
Wie wir bereits besprochen haben, wie Daten in Abfragen zusammengefügt werden und wie die meisten Abfragen nach Übereinstimmungen zwischen zwei oder mehr Tabellen suchen.
Dies ist die Standardverknüpfung in Access, wenn wir beispielsweise eine Abfrage mit zwei Tabellen entwerfen. tblCustomers und tblOrdersWenn Sie diese beiden Tabellen durch die Kunden-IDs verbinden, gibt diese Abfrage nur die übereinstimmenden Ergebnisse zurück. Mit anderen Worten, die Kunden, die Bestellungen aufgegeben haben.
Es gibt Zeiten, in denen wir die Übereinstimmungen nicht sehen möchten. Beispielsweise möchten wir möglicherweise keinen Kunden in unserer Datenbank sehen - die Kunden, die noch keine Bestellungen aufgegeben haben.
- Dies ist genau das, was die nicht übereinstimmende Suchabfrage bewirkt.
Es gibt auch viele andere Verwendungsmöglichkeiten für diese Art von Abfrage.
In unserer Datenbank können wir damit sehen, welche Autoren noch kein Projekt geschrieben haben, oder Sie können damit sehen, welche Mitarbeiter noch keine gesundheitlichen Vorteile gewählt haben. Lassen Sie uns nun Ihre Datenbank öffnen, die enthältCustomers und OrdersTabelle; Gehen Sie zur Registerkarte Erstellen und klicken Sie auf die Schaltfläche des Abfrage-Assistenten.
Wähle aus Find Unmatched Query Wizard und klicken Sie auf Ok.
In diesem Szenario werden wir nach Kunden Ausschau halten, die keine Bestellung aufgegeben haben. Im ersten Bildschirm werden Sie gefragt, welche Tabelle oder Abfrage die gewünschten Datensätze in den Abfrageergebnissen enthält.
Wir wollen jetzt eine Kundenliste von tblCustomers. Wählen Sie diese Option und klicken Sie aufNext.
Im folgenden Bildschirm müssen Sie angeben which table or query contains the related records. Mit anderen Worten, welche Tabelle verwenden Sie, um mit der ersten zu vergleichen. Dazu müssen wir diejenigen finden, die keine Bestellungen aufgegeben haben. Wir müssen die Tabelle auswählen, die Informationen zu allen Bestellungen enthält -tblOrders. Klicken Sie nun aufNext.
Im folgenden Bildschirm müssen Sie angeben, welche Informationen in beiden Tabellen enthalten sind.
- Dies ist normalerweise eine Art Primärschlüssel, Fremdschlüssel, Feld oder Beziehung.
- Wenn in Ihrer Datenbank bereits eine Beziehung besteht, wählt Access diese Felder für Sie aus und stimmt sie ab.
- Wenn Sie jedoch andere Felder haben, die Sie zusammenfügen können und ähnliche Informationen enthalten, können Sie diese auch hier auswählen.
Hier haben wir CustID standardmäßig in beiden Feldern in 'tblCustomers' und Feldern in 'tblOrders' ausgewählt. Klicken Sie nun aufNext.
Im folgenden Bildschirm können Sie die Felder auswählen, die in den Abfrageergebnissen angezeigt werden sollen.
Lassen Sie uns nun alle verfügbaren Felder auswählen und auf den Doppelpfeil klicken. Dies bewegt alleavailable fields rüber zum selected fieldsBereich. Klicken Sie nun aufNext.
Im letzten Bildschirm können Sie einen Namen für Ihre Abfrage auswählen und auf klicken Finish.
Hier haben wir einen Kunden als den Kunden, der noch keine Bestellung bei uns aufgegeben hat.
Sie können auch sehen, wie diese Abfrage erstellt wurde. Dazu müssen Sie zurück zumDesign View.
Dieser Assistent hat eine erstellt Outer Join zwischen tblCustomer und tblOrders und dem Is NullKriterien werden der CustID von tblORders hinzugefügt. Dies dient zum Ausschließen bestimmter Datensätze. In diesem Fall sind es die Kunden, die Bestellungen aufgegeben haben oder die entsprechende Informationen in tblOrders haben.