Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: tragger am September 04, 2010, 20:39:41

Titel: Problem bei Abfrageerstellung für Rechnungspositionen
Beitrag von: tragger am September 04, 2010, 20:39:41
Hallo Leute,

ich habe mal wider ein Problem. Ich möchte eine Abfrage für Rechnungspositionen erstellen. Das Problem ist, dass hier in den Rechnungspositionen entweder Versicherungen oder eine Aufnahmegebühr abgerechnet werden sollen. Diese Aufnahmegebühr soll als eigener Datensatz erstellt werden.

Mein Abfrageentwurf sieht erst einmal als SQL so aus:
SELECT tabRechnungPositionen.PositionsNr, tabRechnungPositionen.RechnungsNr, tabRechnungPositionen.VersicherungsNr, qryVersicherung.PferdeNr, qryVersicherung.Nutzungsart, qryVersicherung.VersicherungssummeEuro, qryVersicherung.Versicherungsdauer, qryVersicherung.Prämiensatz, qryVersicherung.Ablauf, tabRechnungPositionen.Bezeichnung, tabRechnungPositionen.Nettoprämie, qryPferde.Geschlecht, qryPferde.Abstammung, qryPferde.Geburtsjahr
FROM tabRechnungPositionen INNER JOIN (qryVersicherung INNER JOIN qryPferde ON qryVersicherung.PferdeNr = qryPferde.PferdeNr) ON tabRechnungPositionen.VersicherungsNr = qryVersicherung.VersicherungsNr;


Hier ist nun das Problem, dass ein Datensatz ohne Eingabe einer Versicherungsnummer nicht erfasst werden kann, bzw. bei Erfassung in der Tabelle nicht in der Abfrage angezeigt wird.

Wie kann ich das lösen, dass auch ie Datensätze angezeigt werden, bei denen das Feld VersicherungsNr leer ist, aber die Primärschlüsselkombination "tabRechnungPositionen.PositionsNr, tabRechnungPositionen.RechnungsNr" passt?

Wenn weitere Angaben benötigt, oder ich mich falsch ausgedrückt habe, bitte ich um kurze Info
Titel: Re: Problem bei Abfrageerstellung für Rechnungspositionen
Beitrag von: MzKlMu am September 04, 2010, 21:22:04
Hallo,
ändere die Beziehungstypen statt INNER JOIN RIGHT JOIN (oder LEFT JOIN).
Titel: Re: Problem bei Abfrageerstellung für Rechnungspositionen
Beitrag von: tragger am September 04, 2010, 21:58:22
Thank You!!

Das wars scheinbar.

Hier der Code:
SELECT tabRechnungPositionen.PositionsNr, tabRechnungPositionen.RechnungsNr, tabRechnungPositionen.VersicherungsNr, qryVersicherung.PferdeNr, qryVersicherung.Nutzungsart, qryVersicherung.VersicherungssummeEuro, qryVersicherung.Versicherungsdauer, qryVersicherung.Prämiensatz, qryVersicherung.Ablauf, tabRechnungPositionen.Bezeichnung, tabRechnungPositionen.Nettoprämie, qryPferde.Geschlecht, qryPferde.Abstammung, qryPferde.Geburtsjahr
FROM tabRechnungPositionen LEFT JOIN (qryVersicherung LEFT JOIN qryPferde ON qryVersicherung.PferdeNr = qryPferde.PferdeNr) ON tabRechnungPositionen.VersicherungsNr = qryVersicherung.VersicherungsNr;