Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Andreas_HH am Dezember 09, 2024, 18:58:13

Titel: Neukunden-Datensatz ohne Rechnung wirtd nicht in Formular angezeigt
Beitrag von: Andreas_HH am Dezember 09, 2024, 18:58:13
Moin zusammen,

bin Access-Anfänger und bitte daher um Nachsicht bei allzu dummen Fragen ;-)

Habe eine tblKUNDEN und eine tblRECHNUNGEN. Aus den Rechnungsdaten ermittele ich in einer qryRECHNUNGEN  den Mittelwert aus "Zahlungsdatum - Fälligkeit", um eine Aussage über die Zahlungs-"Moral" der Kunden zu erhalten. So weit so gut.

In einem frmKUNDEN, das auf der qryRECHNUNGEN beruht, stelle ich die relevanten Kundendaten zusammen - inkl. dieses "Zahlungsmoral"-Wertes. Auch das funktioniert soweit - bis ich eien neuen Kunden anlege, der noch gar keine Rechnung erhalten hat... Der erscheint dann nämlich "einfach so" nicht im Formular.

Ich habe bereits versucht, mit einer vorgeschalteten WENN-Funktion zu arbeiten:

    WENN (Mittelwert(...) ist null; "n/v"; Mittelwert(...))

funktioniert leider auch nicht.

Gibt es da eine Lösung für? Schonmal "Danke" im Voraus.

VG Andreas
Titel: Re: Neukunden-Datensatz ohne Rechnung wirtd nicht in Formular angezeigt
Beitrag von: MzKlMu am Dezember 09, 2024, 19:06:06
Hallo,
da sind doch mindestens 2 Tabellen beteiligt. Du musst den Typ der Beziehung der beiden Tabellen ändern, von INNER in LEFT oder RIGHT JOIN.

Zeige mal die Abfrage (SQL).

Üblicherweise macht man da aber anders. Man zeigt die Kunden in einem Hauptformular an nur mit der Tabelle tblKUNDEN als Datenquelle. Dann erstellt man ein Unterformular für die Rechnungen, nur die Rechnungen.
Hafo und Ufo sind über die Schlüsselfelder zu verknüpfen.
Im Hafo hat man dann die Kunden, auch die die noch keine Rechnungen haben. Im Ufo sind dann die zum Kunden gehörenden Rechnungen zu sehen, oder auch keine wie bei einem Neukunden.

Hier noch was zum Lernen:

https://www.access-tutorial.de/

Hier findest Du auch Info zu Hafo/Ufo und den Verknüpfung/Beziehungsarten (INNER -, LEFT -, RIGHT JOIN)
Titel: Re: Neukunden-Datensatz ohne Rechnung wirtd nicht in Formular angezeigt
Beitrag von: Andreas_HH am Dezember 09, 2024, 22:25:32
Vielen Dank für die Antwort und die Infos, Klaus, vor allem auch für den Link zum  Tutorial. Da werde ich vor allem die Beziehungen / Inner, left u. right join anschauen.


Unterformluare sind mir bekannt, und ich habe sie auch in anderen Zusammenhängen in meiner DB genutzt, z.B. um verschiedene Projekte eines Kunden unterhalb der Kundendaten darzustellen. Klar, das macht bei Bedarf auch für die Rechnungen Sinn. Ich habe das anders gelöst, und bei den Kundendaten benötige ich nur den aus den verschiedenen Rechnungen berechneten Mittelwert der Zahlungsdauer.

Hier die SQL-Abfrage:

SELECT tbl_Kunden.KD_ID, IIf(Avg([tbl_Rechnungen]![REC_Zahldatum]-([tbl_Rechnungen]![REC_Ausgang]-1+[tbl_Kunden]![KD_Zahlungsziel])) Is Null,0,Avg([tbl_Rechnungen]![REC_Zahldatum]-([tbl_Rechnungen]![REC_Ausgang]-1+[tbl_Kunden]![KD_Zahlungsziel]))) AS KD_Zahlmoral

FROM tbl_Kunden INNER JOIN tbl_Rechnungen ON tbl_Kunden.KD_ID = tbl_Rechnungen.KD_ID

GROUP BY tbl_Kunden.KD_ID;

Gruß, Andreas
Titel: Re: Neukunden-Datensatz ohne Rechnung wirtd nicht in Formular angezeigt
Beitrag von: MzKlMu am Dezember 10, 2024, 00:03:52
Hallo,
und was ist jetzt aus Deinem Problem geworden ?
Titel: Re: Neukunden-Datensatz ohne Rechnung wirtd nicht in Formular angezeigt
Beitrag von: Andreas_HH am Dezember 10, 2024, 12:32:27
Hallo, so schnell bin ich leider nicht. Gestern Abend war's zu spät, und jetzt stehen erstmal laufende Arbeiten / Tagesgeschäft an.

Und für das Thema "join" werde ich wohl ein bisschen Zeit brauchen. ;-)

Das Ergebnis werde ich gern hier posten.

VG Andreas