Hello,
Schau mal nach, ob im verzeichnis deiner *.mdb eine *.ldb-Datei liegt.
Das ist der richtige Hinweis
Das würde darauf schließen lassen, dass die Datenbank zum exklusiven Zugriff geöffnet ist.
Das stimmt nicht. Eine *.ldb lässt darauf schließen, dass die Access-DB für gemeinsame Netzwerkzugriffe vorbeereitet ist. Wie sie geöffnet wird, entscheidet trotzdem immer noch der Client beim Öffnen. Die JET-Engine ist eine zentrale Datenhaltung mit verteilter Engine, bzw. mit Multiengine.
D.h. Die Daten sind gelockt und können nur von dem Nutzer mit dem exklusiven Zugriff geändert werden bis dieser den exklusiven Zugriff wieder aufhebt.
Um die Datenbank im Netz gemeinsam nutzen zu können, müssen die Clients mittels Access-Arbeitsgruppenadministrator an eine gemeinsame *.mdw (Arbeitsgruppendatei) angeschlossen werden. Diese regelt dann später das automatische Öffnungsverhalten und die allgemeinen Zugriffsrechte.
Der Zugriff auf Tabellen, Datensätze der Tabellen, Abfragen, Berichte, Makros etc. wird dann über die *.ldb geregelt. Ggf. muss man (z.B. auf einem Novellserver) serverseits die MAX_LOCKS_PER_CLIENT (o.ä.) hochsetzen, damit sich Access nicht einfach aufhängt.
Die *.ldb ist nämlich Bestandteil des Betriebssystems und nicht der JET-Engine. Diese ruft nur den Interrupt für Mandatory Record Locking auf, welcher dann für die Erzeugung der *.ldb sorgt. Wenn das letzte Handle auf die *.ldb wieder zurückgegeben wurde (muss _nicht_ von dem Prozess sein, der das erste angefordert hat) verschwindet die *.ldb wieder.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau