PDA

Vollständige Version anzeigen : Datensatzsperrung


Ohnesorg
14.05.2001, 13:03
Hi Folks,

ich habe - man glaubt es kaum - eine Datenbank. Auf diese greifen im Extremfall 50 User zu. Trotz einer Datenmasse von knapp 9000 Datensätzen kommt es immer wieder vor, dass sich mehrere User auf dem gleichen Datensatz befinden.
Das Problem besteht nun darin, dass ich eine Routine brauche, die überprüfen kann, ob und von wem der Datensatz gerade bearbeitet wird, damit der bearbeitende User per Popup darauf hingewiesen werden kann, dass er seinen Cursor vom Datensatz bewegen soll.
Leider konnte mir bislang niemand weiter helfen :confused:

Danke im voraus

Alexander Jan Peters
15.05.2001, 00:12
<font color="#000000" size="2" face="Tahoma">Sorry,

ich hatte übersehen, daß Du zuerst gefragt hat und habe daher auf ähnliche Frage geantwortet -> Ist Datensatz gerade in Bearbeitung ? (o. Sperre) (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=44098) .
Damit kann allerdings nur ermittelt werden, ob ein DS bearbeitet wird, nicht von wem.

Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></font>

Ohnesorg
15.05.2001, 07:37
Danke Alexander,

doch das Problem ist damit nicht so ganz gelöst.
Ich weiß ehrlich gesagt nicht, wie es bei anderen Access-Versionen ist, doch Access 8 (97) sperrt nicht nur den gerade bearbeiteten Datensatz (obwohl die Eigenschaften dementsprechend eingestellt sind) sondern es werden weitere Datensätze gesperrt. Es sind definitiv nicht alle Datensätze des Recordsets gesperrt.

Nach (fast endlosen) Testläufen und überstrapazierten Nerven anderer KollegInnen habe ich immerhin herausgefunden, dass Access den fokusierten Datensatz und die zwei darauffolgenden Datensätze sperrt. Dies macht auch den Lösungsansatz kompliziert genug mit der "Current" Eigenschaft den Datensatz über ein Flag zu sperren und zu entsperren. Wenn irgendjemand auch nur den kleinsten Tipp hat, wie man die Sache möglichst elegant lösen kann... her damit!!! :)
Die Sache einen Snapshot statt einem Dynaset zu produzieren funktioniert nicht ganz, weil die Datenbank Echtzeit laufen muss. Es hängen noch weitere Software Produkte daran, die grundsätzlich die aktuellsten Daten ab Eingabe verarbeiten müssen.

Danke im Voraus für jeden - auch noch so kleinen Tipp!!!....

Alexander Jan Peters
15.05.2001, 10:39
<font color="#000000" size="2" face="Tahoma">Hallo,

das hat, glaub ich, etwas mit den "berühmten" 2K bei Sperren zu tun. Es wird scheinbar immer ein Block von zwei Kilobyte gesperrt und wenn der DS nicht so groß ist, werden halt die nächsten bzw. vorherigen DS miteinbezogen. Wenn Du also "künstlich" dafür sorgst, daß Deine DS allein immer 2K groß sind, soll es angeblich klappen, wenn ich das so richtig kapiert habe.
Das Ganze ist nicht auf meinem Mist gewachsen, hab ich in der Newsgroup microsoft.public.de.access bzw. de.comp.datenbanken.ms-access gelesen.

<a href="http://groups.google.com/groups?hl=de&lr=&safe=off&ic=1&th=176566effa853b39,2&seekm=9d3g9a%246b7%241%40unlisys.unlisys.net#p">RE: Datensatzsperrung A97 - Wer ist der 'Sperrer' vom 07.05.01</a>
<a href="http://groups.google.com/groups?hl=de&lr=&safe=off&ic=1&th=8ba431fcb95baa7a,11&seekm=9dkid7%24h74%241%40news1.sunrise.ch#p">Schreibkonflikt in derselben Access-Instanz vom 07.05.01</a>
<a href="http://www.accessarchive.com/FAQs/Locking.htm">Access Archive von Mario Herger</a>


Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></font>