Einzelnen Beitrag anzeigen

AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#1

Einfache Möglichkeit zur Aufzeichnung von Änderungen in Tabelle bei Posten

  Alt 18. Jun 2019, 17:19
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
Moin,

ich würde gerne für eine bestimmte Tabelle ein Änderungsprotokoll führen, d.h. für jedes Feld, dass beim Posten einen neuen Wert enthält, soll es einen entsprechenden lesbaren Eintrag in besagtem Protokoll geben.
Im Prinzip soll, nachdem auf einem Formular mit datenbanksensitiven Komponenten & DBNavigator, die über TFDTable/Query an der besagten Tabelle hängen, gepostet wird, eine Liste mit den Änderungen angelegt werden, die dann lesbar protokolliert werden können:

D.h. "XYZ klickt auf in einer Maske auf eine datenbanksensitive Checkbox und speichert" -> "XYZ hat ABC ein/ausgeschaltet" im Protokoll.
Oder "XYZ ändert Wert in DBEditSoundso von ABC auf DEF und speichert" -> "XYZ hat Wert Soundso von ABC auf DEF geändert" im Protokoll.

Der Rahmen, in dem dies passiert ist so überschaubar und simpel, dass eine einfache und unkomplizierte Lösung völlig ausreicht, d.h. die Felderanzahl ist überschaubar.
Die Vorschläge, die ich beim Suchen nach dem Thema gefunden habe, sind zumeist entweder veraltet oder zu komplex.

Mir fallen mehrere äußerst unelegante Brute-Force-Lösungen (OnChange, JvMemoryDatas etc) ein, zudem habe ich mir auch schonmal die FDEventAlert-Komponente angeschaut, aber mich würde mal interessieren, ob jemand eine simple Methodik dafür kennt.

Geändert von AuronTLG (18. Jun 2019 um 17:23 Uhr)
  Mit Zitat antworten Zitat