Suche Werte aus Tabelle B die nicht in A sind

Hallo,
ich arbeite mit Access 2003 und werte Tabellen aus einer Unify Datenbank aus. Die Tabellen habe ich angebunden.
Es handelt sich um 3 Tabellen:
PUBLIC_aufkopf = Kopfdatei
PUBLIC_aufpos = Position
PUBLIC_artst = Artikelstamm

Der unten angeführte Select, ermittelt alles Kunden die den Artikel 6770 innerhalb des Datums gekauft haben. Das funktioniert soweit.
Nun möchte ich aber, wenn möglich im gleichen Select, auch die Kunden ermitteln, die den Artikel NICHT gekauft haben.Diese sollen dan mit dem Wert 0 oder NULL angezeigt werden. Ich meine mal gehört zu haben das es die Funktion „OUTER JOIN“ gibt die das ermöglicht.
Da ich aber Leihe bin weiß ich nicht ob- und wie man dieses in den Select einbauen kann.
Gibt es jemanden der mir da behilflich sein kann, bzw. den Select um diese Funktion erweitern kann ???

SELECT PUBLIC_aufkopf.debitor, PUBLIC_aufkopf.name, PUBLIC_aufkopf.branche,
PUBLIC_aufkopf.plz, PUBLIC_aufkopf.ort, PUBLIC_aufkopf.strasse,
PUBLIC_aufpos.menge, PUBLIC_aufpos.artikel,
PUBLIC_aufpos.artikelbezeichnung, PUBLIC_aufkopf.fakturdatum,
PUBLIC_artst.kvp
FROM (PUBLIC_aufkopf INNER JOIN PUBLIC_aufpos ON (PUBLIC_aufkopf.firma =
PUBLIC_aufpos.firma) AND (PUBLIC_aufkopf.auftragsnr =
PUBLIC_aufpos.auftragsnr)) INNER JOIN PUBLIC_artst ON (PUBLIC_aufkopf.firma
= PUBLIC_artst.firma) AND (PUBLIC_aufpos.artikel = PUBLIC_artst.artikel) AND
(PUBLIC_aufpos.preisnummer = PUBLIC_artst.preisnummer)
WHERE (((PUBLIC_aufpos.artikel)=6770) AND
((PUBLIC_aufkopf.fakturdatum)>#6/1/2010#));

Im voraus schon mal vielen Dank
Gruß
Wolfgang aus Krefeld

Hallo Wolfgang,
ich bin auch kein Experte aber ich ich würde sowas als Abfrage bauen und dann den SQL-Code in den Select übernehmen.

Kleiner Tipp: schau mal im Office-Forum nach.

Gruß Johannes

Hallo Wolfgang,

mit nachstehender Abfrage werden alle Kunden aus der Tabelle „Kunde“ angezeigt; zusätzlich wird das Feld „Produktwahl“ generiert, indem die Produkte 6770 als solche angezeigt werden und die anderen Produkte mit „0“ ausgegeben werden. Gleichzeitig wird das Feld „Stichtag“ generiert, indem zutreffendenfalls das Kaufdatum vom 16.6.2010 dargestellt wird:

SELECT Kunde.Kunde, IIf([Produkt]=6770,[Produkt],0) AS Produktwahl, IIf([Kaufdatum]=#6/16/2010#,„16.6.2010“,"") AS Stichtag
FROM Kunde LEFT JOIN [Position] ON Kunde.id = Position.Kunde
ORDER BY IIf([Produkt]=6770,[Produkt],0);

Noch nicht perfekt, aber ein Lösungsansatz :wink:

Hallo Johannes,
erst mal vielen Dank für die Info.
Habe nach längerem suchen die „Inkonsistenzsuche“ im Abfrage Assistenten gefunden die mein Problem gelöst hat.
Gruß
Wolfgang

Hallo Josef,
vielen Dank für deine Mühe. Ich werde deinen Lösungsansatz bei Gelegenheit mal ausprobieren.
Ich habe für mein Problem allerdings in Access im Abfrageassistenten die Funktion „Inkonsistenzsuche“ gefunden. Die hat mein Problem gelöst.
Trotzedem vielen Dank für die Hilfe
Gruß
Wolfgang

Hallo Wolfgang,

kann Dir bei Deinem Problem leider nicht helfen.
Gruß Bernd

Hallo,
ich arbeite mit Access 2003 und werte Tabellen aus einer Unify
Datenbank aus. Die Tabellen habe ich angebunden.
Es handelt sich um 3 Tabellen:
PUBLIC_aufkopf = Kopfdatei
PUBLIC_aufpos = Position
PUBLIC_artst = Artikelstamm

Der unten angeführte Select, ermittelt alles Kunden die den
Artikel 6770 innerhalb des Datums gekauft haben. Das
funktioniert soweit.
Nun möchte ich aber, wenn möglich im gleichen Select, auch die
Kunden ermitteln, die den Artikel NICHT gekauft haben.Diese
sollen dan mit dem Wert 0 oder NULL angezeigt werden. Ich
meine mal gehört zu haben das es die Funktion „OUTER JOIN“
gibt die das ermöglicht.
Da ich aber Leihe bin weiß ich nicht ob- und wie man dieses in
den Select einbauen kann.
Gibt es jemanden der mir da behilflich sein kann, bzw. den
Select um diese Funktion erweitern kann ???