Eine gute Rede ist eine Ansprache, die das Thema erschöpft, aber keineswegs die Zuhörer. - Winston Churchill
emde IT-LÖSUNGEN
> Tel. 08131 / 99 69 80-0
> Kontakt per E-Mail
Die Datenbank wurde von Benutzer... auf Computer... in einen Status versetzt...
11. August 2016
In einer Mehrbenutzerumgebung - insbesondere bei Verwendung der Access Runtime - passiert es gelegentlich, dass der zweite Benutzer beim Öffnen der Datenbank folgende Fehlermeldung bekommt:
"Die Datenbank wurde von Benutzer X auf Computer Y in einen Status versetzt, in dem sie nicht geöffnet oder gesperrt werden kann."
Die Datenbank schließt sich dann gleich wieder.
Ich habe herausgefunden, dass man dieses Problem nachhaltig behebt, indem man beim Öffnen der Datenbank SOFORT eine Verbindung auf die Datenbank selbst öffnet, d.h. in der Startfunktion steht als allererstes:
On Error Resume Next Set Conn = CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & CurrentProject.FullName Err = 0
Die Variable Conn wird dabei im Modul als Public vom Typ Object deklariert.
Juli 2017
Hier noch ein Tipp von Carsten Wangnick zu demselben Problem. Er verwendet eine zentrale ACCDE in einer Citrix-Umgebung. Bei ihm hat der Trick mit der doppelten Verbindung nicht funktioniert. Seine Lösung lautet:
Man muss ein Start-Formular erstellen, dass per Autoexec-Makro "hidden" geöffnet wird und über das man ein weiteres "Dummy"-Formular ebenfalls hidden öffnet und gleich wieder schliesst. Erst danach wird dann das eigentliche, für den Benutzer sichtbare, Hauptformular geöffnet. Code im Start-Formular z.B. wie folgt:
DoCmd.OpenForm "frm_Dummy", , , , , acHidden DoCmd.Close acForm, "frm_Dummy" DoCmd.OpenForm "frm_Hauptmenue"