Version 3
SAVE OLD RELATED ONE (Feldname)
| Parameter | Typ | Beschreibung | |
| Feldname | Feld | Feld, von dem die Verknüpfung ausgeht |
Beschreibung
Der Befehl SAVE OLD RELATED ONE ist identisch mit dem Befehl SAVE RELATED ONE. Er sichert allerdings den mit OLD RELATED ONE geladenen Datensatz.
Beispiel
Sie haben eine Datenbank mit zwei Tabellen: [Rechnungen] und [Kunden]. Bei der Eingabe der Rechnung erhöhen Sie den Gesamtumsatz Ihres Kunden.
Sie stellen eine Rechnung über 1 000,00 DM aus und erhöhen den Wert im Feld Umsatz der Tabelle [Kunden] um 500,00 DM. Der Rechnungsbetrag wird auf 1 500 DM geändert. Mit der geänderten Rechnung würden noch einmal 1 500,00 DM zu dem Feld Umsatz addiert. Der Gesamtumsatz wäre demnach 2 500,00 DM.
Dieser Betrag ist falsch, richtig wären insgesamt 1 500,00 DM. Beim Hinzurechnen der Rechnung hätte zuerst der Wert der alten Rechnung abgezogen und anschließend der neue Wert hinzugefügt werden müssen. Das gleiche würde für eine Rechnung gelten, in der Sie die Kundennummer ändern und somit einen falschen Gesamtumsatz für den ersten Kunden haben. Deshalb müssen Sie zuerst den alten verknüpften Datensatz aufrufen und die alte Rechnungssumme abzuziehen.
SAVE OLD RELATED ONE sichert keine gesperrten Datensätze. Sie erhalten keine Fehlermeldung. Stellen Sie deshalb sicher, daß die verknüpfte Tabelle im Lese-/Schreibmodus ist und der Datensatz nicht gesperrt ist.
Referenz
Einführung in Trigger, Locked, OLD RELATED ONE.