Schließen der Datenbank verhindern

Hinweis: Unter folgender Adresse finden Sie eine Vorlage, die Sie herunterladen können:Wenn Sie auf Ihrem Rechner Access installiert haben, können Sie diese Vorlage verwenden. Speichern Sie das selbstentpackende Dateiarchiv auf Ihrer Festplatte und geben Sie den Pfad für einen Ordner an.

Problembeschreibung

Sie möchten, dass der Benutzer einer Datenbank diese nur über einen von Ihnen definierten Weg beenden kann z.B. das Klicken einer Schaltfläche, um zu kontrollieren, dass eine bestimmte Bedingung in der Datenbank erfüllt ist oder eine bestimmte Aktion zwingend ausgeführt wurde.

Selbst wenn Sie dazu die Menüs deaktivieren etc. kann der Anwender immer noch die Datenbank beenden, indem er auf das Schließen-Symbol im Access-Hauptfenster klickt oder die Tastenkombination <ALT> + <F4> drückt, die in Windows das aktive Hauptfenster schließt.

Lösung

Erstellen Sie ein Formular ohne Datenherkunft.

Dieses Formular öffnen Sie beim Start der Datenbank unsichtbar.
Sie können dies in einem Makro namens "Autoexec" veranlassen (Aktion: ÖffnenFormular, Argument "Fenstermodus" auf "ausgeblendet"), das automatisch beim Starten ausgeführt wird. Sie können das Formular auch bei einem passenden Ereignis (z.B. beim Öffnen eines Startformulares) per VBA öffnen:

DoCmd.OpenForm "Name_des_unsichtbaren_Formulares", , , , , acHidden

Dieses Formular bleibt während der ganzen Benützung der Datenbank unsichtbar geöffnet.

Erstellen Sie im Formular ein Kontrollkästchen z.B. namens "Erlaubt" und setzen Sie dessen Standardwert auf Falsch. Im Ereignis "Beim Entladen" des Formulares schreiben Sie folgenden VBA-Code:

If Me!Erlaubt = False Then
   Cancel = True
MsgBox "Bitte führen Sie vor dem Schließen dies und jenes durch!", vbInformation
End If

Damit wird das Entladen des Formulares abgebrochen und das wiederum verhindert das Schließen der Datenbank und von Access. Zusätzlich sollten Sie, wie hier im Beispiel, eine erklärende Meldung für den Benutzer ausgeben lassen.

Sobald die Bedingung zum Schließen der Datenbank erfüllt ist, setzen Sie das Kontrollkästchen auf Wahr:
Forms! Name_des_unsichtbaren_Formulares!Erlaubt = True

Damit kann das unsichtbare Formular entladen und die Datenbank sowie Access geschlossen werden. Sie sollten dieses etwas rigorose Mittel der Benutzerführung nur in besonderen Fällen einsetzen. In der Regel ist es besser, sich am Standard-Design für Microsoft Windows-Applikationen zu orientieren.

Eigenschaften

Artikelnummer: 510048 – Letzte Überarbeitung: 09.11.2004 – Revision: 1

Feedback