Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fragen zum Löschen und Ändern von Daten (https://www.delphipraxis.net/40286-fragen-zum-loeschen-und-aendern-von-daten.html)

shamogi 13. Feb 2005 18:07

Datenbank: Access • Version: 2000 • Zugriff über: SQL

Fragen zum Löschen und Ändern von Daten
 
hi,

folgendes Programm soll erstellt werden:
Abrechnung in der Krankengymnastik (Access-Datenbank, Einzelplatz)

Die Tabellenstruktur ist noch nicht fertig, sonst hätte ich sie als Beispiel angehängt.
Leider konnte ich deswegen auch meine Fragen noch nicht durch try-and-error selbst testen.

Grundsätzlich lösche ich (vorerst) keine Daten aus den Tabellen, sondern habe in jeder ein Feld "geloescht_am", in welches ich beim Löschen das Datum schreibe.

Wie umgehe ich das Problem, wenn ich mir nach einem Jahr eine alte Abrechnung anschauen möchte, zwischenzeitlich aber eine Behandlung darin gelöscht wurde?
Ähnlich mit Preisänderungen? Ich möchte die Rechnung ja nicht mit den aktuellen, sondern mit den damals gültigen Preisen haben?

Muss ich nun meine Tabellenstruktur so gestalten, dass alle gerade aktuellen Daten fest in eine Tabelle geschrieben werden? Ohne Bezug auf bestehende Detailtabellen?

Wie machen das die "Profis" (btw. ich bin nur Bäckermeister :wink: )

Im voraus schon mal Danke ...

Robert_G 13. Feb 2005 18:16

Re: Fragen zum Löschen und Ändern von Daten
 
Ich würde Jet (Jet ist die DB hinter Access) links leigen lassen und FireBird nehmen.
FireBird kann Trigger und das heißt, du kannst sämtliche Änderungen in eine Audittabelle hinterlegen.
Willst du jetzt auf Daten zugreifen wie sie vor 1 Jahr, 3 Tagen, 4 Minuten und 41 Sekunden in der DB waren -> Du wirst genau das bekommen. :)

Also einfach man nach Hier im Forum suchenFireBird suchen. ;)

shamogi 13. Feb 2005 19:27

Re: Fragen zum Löschen und Ändern von Daten
 
Zitat:

Zitat von Robert_G
FireBird kann Trigger und das heißt, du kannst sämtliche Änderungen in eine Audittabelle hinterlegen.
Willst du jetzt auf Daten zugreifen wie sie vor 1 Jahr, 3 Tagen, 4 Minuten und 41 Sekunden in der DB waren -> Du wirst genau das bekommen. :)

kannst du mir das mit der "audittabelle" etwas näher beschreiben, habe bei google nix dazu gefunden?
firebird ist ganz oben auf meiner "da geh ich als nächstes dran"-liste,
dür dieses projekt wollte ich, zumindest in der ersten version, access verwenden.

Robert_G 13. Feb 2005 19:48

Re: Fragen zum Löschen und Ändern von Daten
 
Ein Audit trial sagt dir im Endeffekt wer was wann gemacht hat.
Für deine Zwecke reicht es vielleicht, dass du dort jeweils eine Kopie der Daten vor der Änderung hast.
Also würde ein Trigger immer vor der Änderung diese Kopie in eine 2. Tabelle einfügen.
Jet hat keine Trigger, deshalb wäre das dort nur clientseitig und somit hässlich lösbar. ;)

Edit: irgendwie habe ich das "deshlab"-Syndrom... :gruebel:

shamogi 13. Feb 2005 20:47

Re: Fragen zum Löschen und Ändern von Daten
 
Danke erstmal,
weiß aber nicht, ob ich das in der gegebenen zeit hinbekomme ...

ich werd dann erstmal versuchen meine tabellenstruktur ordentlich hinzubekommen.
notfalls verstecke ich den button, um sich alte rechznung anzeigen zu lassen :twisted:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 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