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."

Access: Die Datenbank wurde 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 ein 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"