Hallo,
FBrust hat folgendes geschrieben : |
eine mögliche Vorgehensweise wäre z. B.
- Daten erst unmittelbar vor der Anzeige bzw. vor der Verarbeitung laden. Auf diese Weise hast Du immer den aktuellsten Stand.
- Vor dem Speichern prüfen (z. B. mit einem TimeStamp), ob der zu ändernde Datensatz geändert wurde, falls ja: Hinweis an den
Anwender, falls nein: Speichern (mit Aktualisierung des Timestamps).
|
Timestamp ist mir so oft über den Weg gelaufen und dennoch habe ich gar nicht daran gedacht. Besten Dank. Das wäre etwas, was ich beim Hinzufügen oder Ändern berücksichtigen kann. Ein Problem sehe ich aber weiterhin: Auf einem Rechner wird ein Datensatz gelöscht. Auf den anderen Rechnern bekommt man davon nichts mit:
Beispiel, damit es einfach ist: Kundendatenbank:
Vorgang: Auf einem Rechner wird ein Kunde gelöscht.
1. Auf einem anderen Rechner wird dieser Kunde gerade bearbeitet und die Änderung gespeichert und somit der Kunde in der DB wieder erzeugt. Eine Lösung wäre das "BeforePost"-Ereignis abzufangen, prüfen, ob der Kunde existiert und wenn nicht, dann Abbruch. Geht das auch einfacher (mir fällt dazu nichts anderes im Moment ein, weil ich dann nämlich noch eine Variable mitführen müsste, ob der Kunde grundsätzlich neu angelegt wurde oder es sich um eine Änderung handelt)?
2. Auf anderen Rechnern ist Kundenübersicht aktiv. Ich kann doch nicht laufend ein Polling durchführen und prüfen, ob die Daten noch aktuell sind. Gibt's eine Art Push-System im Netzwerk, was die anderen Rechner über einen Vorgang (hier Löschen) informiert?
Gruß
Micha