Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Änderungen an Tabellen nachverfolgen (Event?) (https://www.delphipraxis.net/145188-aenderungen-tabellen-nachverfolgen-event.html)

phorax 25. Dez 2009 18:27

Datenbank: Access • Version: 2003 • Zugriff über: ADO

Änderungen an Tabellen nachverfolgen (Event?)
 
Hallo liebe Experten,

wahrscheinlich ist das Problem eher simpel, aber ich komme trotzdem nicht weiter. Ich greife in einer Mehrbenutzerumgebung mit ADO und SQL-Abfragen auf eine (Access-)Datenbank zu und lasse alles mit *nicht* datensensitiven Steuerelementen (TStringGrid) anzeigen und bearbeiten. Gibt es ein Event, das ausgelöst wird, wenn ein Benutzer etwas an einer Tabelle verändert, so dass diese bei allen anderen Benutzern aktualisiert werden kann, oder eventuell eine ganz andere Lösung?

Viele Grüße!

omata 26. Dez 2009 00:12

Re: Änderungen an Tabellen nachverfolgen (Event?)
 
Dafür gibt es in richtigen Datenbanksystem "Trigger", da Access ja leider kein DBMS ist, geht das natürlich damit leider nicht. Also verwende einfach ein richtiges Datenbanksystem, gerade bei Mehrbenutzerbetrieb ist Access einfach völlig unbrauchbar und du bist gerade an die Grenzen von Access gestoßen.

phorax 26. Dez 2009 08:42

Re: Änderungen an Tabellen nachverfolgen (Event?)
 
Danke für den Tip mit den Triggern! Das werde ich mir genauer ansehen.

Mir ist noch eine Bastellösung eingefallen. Es gibt eine neue Tabelle "Änderungsstatus" mit den Feldern "Tabellenname" (Text) und "Änderungsstatus" (Zahl). Bei jeder Änderung an der Tabelle "Tabellenname" wird "Änderungsstatus" (manuell) entsprechend auf die ID des angemeldeten Benutzers gesetzt. So lässt sich nachvollziehen, ob die Tabelle zwischenzeitlich von einem anderen Benutzer verändert wurde und entsprechend reagieren.

omata 26. Dez 2009 12:43

Re: Änderungen an Tabellen nachverfolgen (Event?)
 
Das Problem an diesen Lösungen ist einfach, dass das die Anwendung selbst erledigt. Wenn man nun aber mal manuell etwas in der DB ändert, dann werden diese Zusatzinformationen nicht nachgezogen (automatisch) sondern man muss das dann auch manuell machen. Da ist dann immer die Frage, ob man da immer den Durchblick behält. Deshalb ist es eben wichtig, dass die Regeln direkt in der Datenbank abgelegt werden und diese alles kontrolliert. Dann ist es egal, welche Anwendung auf die DB zugreift, alle werden gleich behandelt. Aber wie schon erwähnt ist das mit Access nicht möglich. Vielleicht wäre eine Kombination aus MSSQL + Access sinnvoller, Access dient dann als Frontend und im Hintergrund arbeitet ein richtiges DBMS.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz