MS Access

Liebe/-r Experte/-in,
in Access 2003 habe ich zwei Tabellen:

Tabelle A mit 200.000 Zeilen:
Kunde | Vertrag | Arbeitsstunde eines Technikers

Tabelle B mit 205.000 Zeilen:
Kunde | Vertrag | Arbeitsstunde eines Technikers

Ich brauche jetzt die 5.000 Zeilen aus Tabelle B, die in Tabelle A nicht vorkommen. Die anderen 200.000 Zeilen sind in A und B absolut identisch.

Wie kann man das in Access 2003 machen? Bitte möglichst Anfänger freundlich :smile: Danke und Viele Grüße

Hallo,

geh in den Abfrageentwurf, füge beide Tabelle hinzu und lege Beziehungslinien zwischen den Tabellen bei allen drei Feldern.

stelle in den Verknüpfungseigenschaften die Verknüpfungsart auf 2 (Beinhaltet alle DS aus Tabelle1 und nur die …)

Ziehe dann das Sternchen aus einer Tabelle (welche, hängt von der Verknüpfungsart ab, vermutlich die „rechtsstehende“ ,etwas probieren…)
und ein Feld aus der anderen in eine Abfragespalte. In das Kriterium dieses Feldes kommt:

ist Null

Abfrage ausführen, und das war es schon.

Hallo,

ich habe es zwar mit Access 2007 ausprobiert, aber es sollte ähnlich funktionieren:
Hier gibt es einen „Abfrage-Assistenten“, der durch die Erstellung führt. Hier wählt man dann den Punkt „[…] zur Inkonsistentsuche“ (könnte auch anders heißen). Dann wird man hier durch den Assistenten geleitet, der die zu vergleichenden Tabellen aufnimmt und bei dem man auch das Kriterium definieren kann.

Sollte es das nicht geben in Access2003, dann muss man wohl über die Entwurfsansicht einer neuen Abfrage gehen. Dort dann die Spalten beider Tabellen einfügen, die miteinander in Beziehung stehen. Dann muss man das Kriterium mit „Ist Null“ definieren - und zwar in der Spalte, die das Ganze eindeutig macht. Wahrscheinlich sind es in diesem Beispiel sowohl Kunde als auch Vertrag, die in die Kriterien mit aufgenommen werden müssen.
Ich hoffe, dass das einigermaßen verständlich ist. Ich konnte leider nur mit Access2007 testen.

Viele Grüße

***********************************************

Hallo ControllerausMünchen,

über eine SQL Abfrage kann man zwei Tabellen miteinander vergleichen und genau dies heraus finden. Ich hab in meinem Beispiel zwei Tabellen angelegt (TAB1 & TAB2). In Tabelle 1 sind 5 Zeilen vorhanden und in Tabelle 2 nur 3. Mit der folgenden Abfrage kann ich dann herausfinden, welche Zeilen in der zweiten Tabelle fehlen.

SELECT * FROM TAB1 WHERE NOT EXISTS
(SELECT * FROM TAB2 WHERE TAB2.ID = TAB1.ID);

Die Abfrage kann man nur in SQL schreiben und nicht zusammenclicken. Im wesentlichen heißt das:

SELECT * FROM TAB1 --> Ist die Auswahl aus Tabelle1
WHERE NOT EXISTS --> Ist die Einschränkung der Ausgabe

Der Select in der Klammer fragt die Daten in der zweiten Tabelle ab. Das

WHERE TAB2.ID = TAB1.ID

Verbindet beide Abfragen, so dass Access nachsehen kann, welche Datensätze nicht existieren.
Das ist dann die Ausgabe.
(Das Feld ID ist dabei der zu vergleichende Schlüssel)

Ich hoffe, ich hab dies ein wenig verständlich rüber gebracht und wünsche viel Erfolg.

Viele Grüße
Markus

Hallo,
sorry ich war in den letzten Tagen nicht verfügbar, das ist eine einfache Angelegenheit, ich werde mich im laufe des Tages melden, jetzt habe ich leider terminliche Verpflichtungen.

Gruß

Hallo,

wechsle bitte zu Abfragen und wähle dann NEU (neue Abfrage), dann die letzte Wahlmöglichkeit „Abfrage-Assistent zur Inkonsistenzsuche“.
Danach Assistenzgesteuert die zu durchsuchenden Tabellen mit entsprechendem Key, das Ergebnis wird eine Abfrage (View) mit den Datensätzen ohne entsprechenden Gegenpart in der zweiten Tabelle sein.

Gruß
Peter