Access - fertig - los! - Teil 1

Problem bleibt eigentlich bestehen

Natürlich verlagern Sie das Problem nur eine Ebene höher, denn auch dieser Aus-Schalter lässt sich von jedem Benutzer deaktivieren. Aber der Weg dahin ist deutlich schwieriger, so dass gutwillige Benutzer ihn nicht so schnell finden.

Es gibt nämlich eine Eigenschaft AllowBypassKey, mit deren Einstellung True die gedrückte [Umschalt]-Taste beim Start ignoriert wird. Damit können Sie sicher sein, dass bei der Benutzung Ihrer Datenbank alle Startprozeduren ausgeführt wurden. Da die Eigenschaft in keinem Dialog sichtbar ist, lässt sie sich nur per VBACode umschalten. Erstellen Sie dazu in einem beliebigen Modul den Code aus Listing 1.

Sub ShiftNutzbar()
Beachte_Shift True
End Sub
Sub ShiftWirdIgnoriert()
Beachte_Shift False
End Sub
Sub Beachte_Shift(booErlaubt As Boolean)
Dim DB As Database
On Error GoTo Mist
Set DB = CurrentDb
DB.Properties("AllowBypassKey").Value = booErlaubt
Exit Sub
Mist:
If Err = 3270 Then ' Eigenschaft nicht vorhanden
DB.Properties.Append DB.CreateProperty("AllowBypassKey", _
dbBoolean, booErlaubt)
Resume Next
Else
MsgBox "Fehler Nr. " & Err.Number & " " & Err.Description
End If
End Sub

Das Umschalten erfolgt über die Prozedur ShiftNutzbar oder ShiftWirdIgnoriert, die Sie jeweils mit [F5] starten können. Um den Effekt prüfen zu können, benötigen Sie außerdem ein AutoExec-Makro wie in Bild 1 mit einer Aktion Meldung oder einem VBA-Funktionsaufruf, damit Sie merken, ob es ausgeführt wird. Die in Bild 1 aufgerufene VBA-Funktion ist in Listing 2 zu sehen.

Bild 1: AutoExec-Makro zum Testen.
Bild 1: AutoExec-Makro zum Testen.

Function StartWithThis()
MsgBox "Dies wird automatisch gestartet!", _
vbInformation, CurrentDb.Name
End Functio

Sie werden feststellen, dass mit AllowBypass- Key = True die AutoExec-Meldung auch dann angezeigt wird, wenn Sie beim nächsten Öffnen der Datenbank die [Umschalt]-Taste gedrückt halten. Und möglicherweise werden Sie auch feststellen, dass Sie sich damit in genau die gleiche missliche Lage wie vorher bugsiert haben: Falls in Extras Start das Datenbankfenster ausgeblendet und die Access-Spezialtasten deaktiviert wurden, sehen Sie nie wieder das Datenbankfenster dieser Datei. Pech gehabt?