[erledigt] Base-Formular: Was wurde geändert?
Verfasst: Mo, 22.04.2013 16:58
Hallo die Damen und die Herren,
ich würde mich über Anregungen zu folgender Problemstellung freuen: Ich programmiere eine Base-Anwendung, die auf eine mySQL-Datenbank zugreift. In einem umfangreichen Formular kann der Benutzer nun einen einzelnen Datensatz aufrufen und Änderungen eintippen. Am Ende kann er den Datensatz speichern (oder die Änderungen noch vor dem Speichern verwerfen).
Nun will ich eine Funktionalität hinzufügen, die - je nachdem, was geändert wurde - weitere Aktionen auslöst. Über oForm.isModified erfahre ich, ob es ÜBERHAUPT Änderungen gegeben hat. Aber wenn ja: Was wurde geändert?
Ansatz 1: Beim Aufruf des Datensatzes alle Datenfelder (Urzustand) in Variablen speichern, vor dem Update abgleichen. Möglich, aber unelegant.
Ansatz 2: Das aktuelle ResultSet oder RowSet (Urzustand) in eine Objektvariable speichern und vor dem Update abgleichen. Klingt schon eleganter, aber ich weiß leider nicht, wie ich das ResultSet "abspalten" kann. Es gibt ja keine Eigenschaft oForm.ResultSet oder so ...
Ansatz 3: Vor dem Update noch einmal mySQL abfragen, um den Urzustand zu erhalten und dann abgleichen.
Danke für Eingebungen und weitere Ansätze!
Wolli
ich würde mich über Anregungen zu folgender Problemstellung freuen: Ich programmiere eine Base-Anwendung, die auf eine mySQL-Datenbank zugreift. In einem umfangreichen Formular kann der Benutzer nun einen einzelnen Datensatz aufrufen und Änderungen eintippen. Am Ende kann er den Datensatz speichern (oder die Änderungen noch vor dem Speichern verwerfen).
Nun will ich eine Funktionalität hinzufügen, die - je nachdem, was geändert wurde - weitere Aktionen auslöst. Über oForm.isModified erfahre ich, ob es ÜBERHAUPT Änderungen gegeben hat. Aber wenn ja: Was wurde geändert?
Ansatz 1: Beim Aufruf des Datensatzes alle Datenfelder (Urzustand) in Variablen speichern, vor dem Update abgleichen. Möglich, aber unelegant.
Ansatz 2: Das aktuelle ResultSet oder RowSet (Urzustand) in eine Objektvariable speichern und vor dem Update abgleichen. Klingt schon eleganter, aber ich weiß leider nicht, wie ich das ResultSet "abspalten" kann. Es gibt ja keine Eigenschaft oForm.ResultSet oder so ...
Ansatz 3: Vor dem Update noch einmal mySQL abfragen, um den Urzustand zu erhalten und dann abgleichen.
Danke für Eingebungen und weitere Ansätze!
Wolli