Feste Aktivitäten beim Öffnen einer Datenbank umgehen

Ich habe bei einer Access-Datenbank mit dem Menübefehl »Extras | Start« eigene Menüleisten aktiviert und die eingebauten Symbolleisten unterdrückt. Bei der Programmierung ist mir allerdings ein Fehler unterlaufen, und ich muss nun die Anwendung überarbeiten. Dabei habe ich das Problem, dass mir Access 2000 seine normalen Menüs und Symbolleisten nicht mehr anbietet. Wie kann ich das ändern?

Es gibt mehrere Wege, automatische Aktivitäten beim Öffnen einer Access-2000-Datenbank festzulegen. Das spezielle Makro »Autoexec« zwingt die Anwendung, verschiedene Aktionen durchzuführen, und mit dem Menübefehl »Extras | Start« können Sie diverse Optionen setzen, die das Starten Ihrer Datenbank steuern.

Halten Sie beim Öffnen der Datenbank die [Umschalt]-Taste gedrückt, wird das von Ihnen festgelegte Verhalten ignoriert. Hier handelt es sich um eine Sicherheitslücke. Access bietet jedoch die Möglichkeit, diese Lücke mit einer VBA- Prozedur zu schließen. Sie finden das Listing auf www.chip.de unter Web-Code Bypass.



Function BypassEigenschaftEinstellen(varWert As Boolean)
Dim objDatabase As Object
Dim objPropertie As Object
Const conEigenschaft NichtGefunden_Fehler = 3270

On Error GoTo Bypass EigenschaftEinstellen_Error
Set objDatabase = CurrentDb
bjDatabase.Properties (äAllowBypassKeyô) = varWert

BypassEigenschaftEinstellen_Exi:
Exit Function

BypassEigenschaftEinstellen_Error:
If Err = conEigenschaft NichtGefunden_Fehler Then
Set objPropertie = objDatabase.CreateProperty (äAllowBy passKeyô, dbBoolean, varWert)

objDatabase.Properties.Append
objPropertie
Resume Next
Else
MsgBox Err.Description
Resume Bypass EigenschaftEinstellen_Exit
End If
End Function



Wenn Sie nun die Funktion »Bypass EigenschaftEinstellen()« aufrufen und dabei den Parameter »varWert« mit »True« belegen, verschließen Sie die oben beschriebene Hintertür. Setzen Sie den Wert wieder auf »False«, ist alles wieder wie vorher.