Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

2. Abfrage funktioniert nur wenn in der 1.Abfrage mindestens ein Ergebnis ist

Begonnen von NinaG, Oktober 13, 2015, 10:47:26

⏪ vorheriges - nächstes ⏩

NinaG

Hallo zusammen,

meine 2.Abfrage funktioniert leider nicht immer, hier erstmal die beiden Abfragen:
1.Abfrage(Bezahlte Artikel):
SELECT public_RechnungUndArtikel.Position
FROM public_RechnungUndArtikel
WHERE (((public_RechnungUndArtikel.Bestellnummer)=[Forms]![Rechnung buchen]![Bestellnummer]));

2.Abfrage:
SELECT public_Artikel.Position, Left(public_Artikel.Artikelbezeichnung,255) AS Artikelbezeichnung, public_Artikel.Menge, CCur(public_Artikel.[Preis pro Stück]) AS [Preis pro Stück], public_Artikel.Projektnummer, public_Artikel.Sachkontonummer
FROM public_Artikel, [Bezahlte Artikel]
WHERE (((public_Artikel.Position) Not In ([Bezahlte Artikel].[Position])) AND (public_Artikel.Bestellnummer = Forms![Rechnung buchen]!Bestellnummer));

Ich brauch alle Artikel einer Bestellung, die noch nicht bezahlt sind, also alle die nicht in der Tabelle public_RechnungUndArtikel sind.
Wenn ich bereits irgendwelche bezahlten Artikel für die Bestellung habe funktioniert die Abfrage, aber wenn noch kein Artikel bezahlt wurde, habe ich in Abfrage 2 keine Ergebnisse.

Weiß jemand wie man das ändern kann oder kann ich evtl. beide Abfragen in einer zusammenfassen(habe dies nicht hinbekommen, weil der Primärschlüssel aus Bestellnummer und Position besteht) ?

Liebe Grüße
Nina

MaggieMay

Hallo,
ZitatIch brauch alle Artikel einer Bestellung, die noch nicht bezahlt sind, also alle die nicht in der Tabelle public_RechnungUndArtikel sind.
das löst du am besten mit einem "Outer Join":
SELECT A.Position, Left(A.Artikelbezeichnung,255) AS Artikelbezeichnung, A.Menge, CCur(A.[Preis pro Stück]) AS [Preis pro Stück], A.Projektnummer, A.Sachkontonummer
FROM public_Artikel As A LEFT JOIN public_RechnungUndArtikel AS R
ON A.Bestellnummer = B.Bestellnummer And A.Position = R.Position
WHERE (
((R.Position) Is Null) AND
((A.Bestellnummer) = Forms![Rechnung buchen]!Bestellnummer)
);


Freundliche Grüße
MaggieMay