Wie kann ich einen Schreibkonflikt per Programm abfangen und behandeln?
In der MDB-Welt kann man ja Datensätze sperren und so Schreibkonflikte
vermeiden. In der ADP-Welt mit dem SQL-Server läuft das anders. Im Falle
eines Schreibkonflikts erhält man die Auswahl
Speichern/Zwischenablage/Verwerfen.
(Ich denke das eine nennt sich pessimistisches, das andere optimistisches
Sperren.)
Ich möchte in meinen Access-Formularen im Falle eines Schreibkonflikts per
eigener Routine entscheiden, ob ich speichern oder verwerfen will.
Hat da jemand eine hiulfreiche Idee?
Danke
Stefan
"Stefan Weigel" <ma...@stefan-weigel.de> schrieb ...
> Wie kann ich einen Schreibkonflikt per Programm abfangen und behandeln?
>
> In der MDB-Welt kann man ja Datensätze sperren und so Schreibkonflikte
> vermeiden. In der ADP-Welt mit dem SQL-Server läuft das anders. Im Falle
> eines Schreibkonflikts erhält man die Auswahl
> Speichern/Zwischenablage/Verwerfen.
>
> (Ich denke das eine nennt sich pessimistisches, das andere optimistisches
> Sperren.)
>
> Ich möchte in meinen Access-Formularen im Falle eines Schreibkonflikts per
> eigener Routine entscheiden, ob ich speichern oder verwerfen will.
>
auch beim Access Projekt wird im Formular zunächst das Form_Error-Ereignis
ausgelöst (Bei Fehler).
Mit dem zugrundeliegenden Recordset kannst Du herausfinden, welche
Werte sich wie geändert haben, mal vereinfacht:
Set rst = Me.Recordset
With rst("Spalte")
Debug.Print .Value, .OriginalValue, .UnderlyingValue
rst.Resync adAffectCurrent, adResyncUnderlyingValues
Debug.Print .Value, .OriginalValue, .UnderlyingValue
End With
und entsprechend darauf reagieren.
Gruss
Elmar