Lock record ms access

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Lock record ms access

    Hallo,

    aus bestimmten Gründen MUSS ich MS Access für eine Anwendung benutzen. Die Anwendung wird von mehreren Benutzern verwendet.

    Grob gesagt, die Datenbank hat eine Haupttabelle und verschiedene Hilfstabellen dazu.

    Das Editieren der Haupttabelle im Programm ist allen Benutzern erlaubt. Dies löse ich so, dass ich in einer anderen Tabelle den Benutzerid und das primary key von der Haupttabelle speichere und wenn ein anderer User auf den gleichen Record zugreifen möchte, dann kommt eine Meldung, dass xy gerade den Record editiert. Wenn der User die Änderung gespeichert o. ohne Änderung das Form zum Editieren verlassen hat, wird der Eintrag gelöscht. Und so kann der Eintrag von anderen Benutzern editiert werden.

    Für den Fall, dass aus irgendeinem Grund die Anwendung o. der Rechner aufhängt, wenn ein User beim Editieren ist, habe ich im Formclosing Event des Mainforms kodiert, dass der Eintrag gelöscht wird, wo dieser Username steht. Damit ist gesichert, dass kein Record für ewig locked bleibt.

    Was denkt ihr über diese Lösung? Wie würdet ihr es anders lösen?

    EDIT: wenn trotzdem noch was hängen bleibt, besteht die Funktion (nur für einen User, der dazu die Berechtigung hat), alle Einträge aus dieser Hilfstabelle zu löschen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vb_fan“ ()

    Hi,
    ich hab das immer mit einer "Log"-Datei gelöst. Also kein Datenbankeintrag, sondern eine Datei, mit dem Windowsuser als Inhalt. Damit ich beim löschen prüfen kann ob der user der löschen möchte auch der User ist, der das Log erstellt hat.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."