Trigger auf Feld-Ebene
Last updated
Last updated
Nachdem wir gerade unsere erste Rechnung erstellt haben, teilt uns der Champagner-Lieferant mit, dass er die Preise erhöht. Das bedeutet, dass auch wir unsere Preise anpassen müssen!
Statt 7,50 € wird das Glas in Zukunft 9,00 € kosten.
Im Moment ist unsere Rechnung so eingerichtet, dass die Preise immer direkt aus der Tabelle Essen & Trinken gezogen werden.
Wenn wir also einen Preis in der Tabelle Essen & Trinken ändern, werden jeweils alle Rechnungen geändert – auch die, die bereits geschrieben wurden!
Wir können das für die Zukunft über einen Trigger so einrichten, dass in der Rechnung immer der Preis für einen Artikel angezeigt wird, der zum Zeitpunkt der Rechnungsstellung aktuell war.
Dieser Preis ist dann fest in der jeweiligen Rechnung „verankert“.
Wir setzten in der Untertabelle Rechnungspositionen in dem Verknüpfungs-Feld Essen & Trinken einen Trigger nach Änderung. Dieser wird dafür sorgen, dass in einem neu hinzugefügten Zahl-Feld Einzelpreis (anstatt des bisherigen Formel-Feld Einzelpreis) der jeweils aktuelle Preis hinterlegt wird.
In dieses Feld schicken wir per Trigger den aktuellen Preis. Dieser wird dort als Zahl fest gespeichert. Er wird nicht mehr – wie bisher – aus der Tabelle Essen & Trinken frisch in ein Formel-Feld Einzelpreis gezogen.
Wir fügen in einer Rechnung eine neue Rechnungsposition hinzu (+ Datensatz erstellen) und wählen in dem Verknüpfungs-Feld Essen & Trinken einen Artikel aus.
Der Trigger nach Änderung reagiert auf diese Änderung im Feld Essen & Trinken (Änderung = Ereignis) und führt sein Skript aus. Hier: der Trigger weist den aktuellen Einzelpreis aus der Tabelle Essen & Trinken dem Zahlen-Feld Einzelpreis in der Tabelle Rechnungspositionen zu.
Gehen Sie zur Untertabelle Rechnungspositionen.
Unter Trigger nach Änderung fügen Sie folgendes Skript ein:
Einzelpreis := 'Essen & Trinken'.Einzelpreis
Wir müssen nun noch die Tabelle Rechnungen anpassen.
Klicken Sie in der Formular-Ansicht in die Kopfzeile der Untertabelle Rechnungspositionen.
Klicken Sie auf Spalte einblenden und holen Sie den neuen Einzelpreis zurück. Wenn Sie ihn nicht gleich sehen, wird er sich vermutlich am rechten Rand „verstecken“. Ziehen Sie die Felder über die Kopfzeile nach links und ordnen Sie über Drag-and-drop das Feld vor dem Gesamtpreis ein.
Änderungen speichern und: Fertig!
OK. Noch nicht ganz fertig. Die einzige Rechnung, die wir im Moment haben, hat keine Berechnungsgrundlage mehr und zeigt im Moment weder Einzel- noch Gesamtpreise an.
Darum kümmern wir uns schnell!
Fügen Sie in den Tabellen-Einstellungen ein Zahl-Feld Einzelpreis hinzu. Vergessen Sie nicht, das Zahlenformat in den Feld-Einstellungen anzupassen!
Löschen Sie das bisherige Formel-Feld Einzelpreis.
Öffnen Sie Weitere Optionen in den Feld-Einstellungen des Verknüpfungs-Felds Essen & Trinken.
Jetzt passen Sie noch den Gesamtpreis an: Der Einzelpreis (bisher ein Formel-Feld) wird jetzt über das neue Zahl-Feld Einzelpreis berechnet.
... und speichern!
Wir öffnen den Bearbeitungsmodus in der Tabelle Rechnungen.