Daten visuell erfassen in 1:n- und 1:1- Beziehungen

Teilzahlungen berücksichtigen

Wenn mit einem zweiten Formular Teilzahlungen erfasst werden können, könnte es natürlich sein, dass der Status des Auftrags in der Tabelle tabAuftraege nicht mehr mit den tatsächlichen Zahlungseingängen übereinstimmt. Um das beim Anzeigen der Daten zu korrigieren, müssen Sie zunächst feststellen, ob es für den Auftrag erfasste Zahlungen gibt und, wenn ja, ob deren Summe mit dem Auftragswert übereinstimmt.

Falls ja, müssen Sie den Status auf bezahlt setzen falls nicht, müssen Sie dafür sorgen, dass bei Auswahl von bezahlt aus dem Kombinationslistenfeld nicht standardmäßig der komplette Betrag, sondern nur der noch nicht bezahlte Restbetrag gebucht wird. Sie sollten dazu das Formular um drei berechnete Felder ergänzen:

  • txtAnzahl, enthält die Anzahl Buchungen für den Auftrag

  • txtZahlbetrag, enthält die Summe der Zahlungen für diesen Auftrag

  • txtRestbetrag, enthält den noch zu zahlenden Betrag

Zur Berechnung der gewünschten Werte legen Sie für die drei Textfelder die folgenden Werte für die Eigenschaft Steuerelementinhalt fest:

  • Feld txtAnzahl:
    =DomAnzahl("ID";"tabZahlungen";"Auftrag=" & [ID])

  • Feld txtZahlbetrag:
    =DomSumme("Betrag";"tabZahlungen";"Auftrag=" &
    [ID])

  • Feld txtRestbetrag:
    =Wenn([Auftragsart]=1;[Auftragswert]-[txtZahlbetrag];
    Wenn([Auftragsart]=2;[Auftragswert]-[txtZahlbetrag]*(-
    1);0))

Die Funktion DomAnzahl gibt die Anzahl von Datensätzen zurück, die in der Tabelle tabZahlungen für den Auftrag vorhanden sind. Den Auftrag definieren Sie durch den Kriteriumsausdruck, den Sie als dritten Parameter angeben. Entsprechend ermittelt die Funktion DomSumme die Summe des Feldes Betrag in der Tabelle tabZahlungen.