M:n Beziehung

Hallo,

ich hab da ein Problem bei der Bezahlung von Rechnungen (jaja, auch mit der Stromrechnung :wink:).

Die Sachlage ist vereinfacht wie folgt:

tblRechnungen mit liRgNr (Primärschlüssel) und curRgSumme
tblZahlungen mit liIDZahlung (Primärschlüssel) und curZahlbetrag

Eine Rechnung soll mit beliebig vielen (Teil-) Zahlungen beglichen werden können.
Eine Zahlung soll beleibig viele Rechnungen begleichen können (davon beliebig viele auch teilweise).

Klingt für mich wie eine m:n Beziegung zwischen Rechnung und Zahlung, aber dieser Gedanke hilft mir irgendwie nicht weiter.

Ich hab ein Formular mit allen Rechnungen eines Kunden und möchte ermöglichen, dass

  1. diese Rechnungen (für die reichen Kunden) ohne Taschenrechner und in ein paar Sekunden mit einer Zahlung beglichen werden und

  2. dass (für die armen Kunden) dabei jede Form der Teilzahlung möglich ist

Wie immer danke für die Mühen beim Verstehen des Problems und danke für die Hilfe!

LG

Benjamin

Moin, Benjamin,

m:n-Beziehungen sind das Salz in der faden Suppe! Da sie sich nicht in Relationen abbilden lassen, greift man zu einem Trick und macht daraus 2 Beziehungen:

 Rechnung \> Zahlbetrag Zahlung

Zahlbetrag hat als Schlüsselkandidaten den Rechnungs-Id, die Zahlungs-Id und dazu eine Folge-Nr.

Ganz ohne Mühen wird die Pflege nicht ablaufen, weil der Kunde ja sagen muss, welche Rechnungen (und jeweils wie viel davon) er mit einer Zahlung begleichen möchte.

Gruß Ralf

Hallo Benjamin,

Eine Rechnung soll mit beliebig vielen (Teil-) Zahlungen
beglichen werden können.

also eine 1:n Verbindung

Eine Zahlung soll beleibig viele Rechnungen begleichen können
(davon beliebig viele auch teilweise).

also eine ZE:n Verbindung

Klingt für mich wie eine m:n Beziegung zwischen Rechnung und
Zahlung, aber dieser Gedanke hilft mir irgendwie nicht weiter.

nö, da fehlen zwei wichtige Kriterien:
ZE = Zahlungseingang
OP = Offene Posten

  • du rufst die Rechnungen des Kunden auf
  • der OP-Betrag aller RECHNUNGEN wird angezeigt
  • du buchst den ZE
  • ist der ZE = OP, dann sind alle RECHNUNGEN beglichen
  • ist der ZE ≠ OP, ist zu überlegen, wie der ZE aufgeteilt wird

Grundsätzlich ist auch eine Zahlung eine (Teil)Zahlung.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)