Umschalttaste sperren mit AllowByPassKey

Unter Access können Sie einige Einstellungen vornehmen, damit der Benutzer kaum noch etwas davon sieht, dass es sich bei der Anwendung um eine Access-Anwendung handelt. Sie können beispielsweise den Navigationsbereich ausblenden oder die eingebauten Ribbon- und Backstage-Einträge mit einer benutzerdefinierten Ribbon-Definition ausblenden. Pfiffige Anwender finden allerdings schnell heraus, wie sich diese Änderungen beim Öffnen einer Datenbank blockieren lassen: durch einfaches Gedrückthalten der Umschalttaste. Also zeigen wir in diesem Beitrag noch einen Weg, wie Sie auch das noch ein wenig erschweren können. Eine wichtige Rolle spielt dabei eine Eigenschaft namens AllowByPassKey.

Das Öffnen einer Datenbankanwendung bei gedrückter Umschalttaste ist ein gängiges Mittel, um sämtliche vom Entwickler programmierten Aktionen, die beim Starten der Anwendung ausgeführt werden sollen, zu unterbinden. Unter anderem blockieren Sie die folgenden Aktionen:

  • das Öffnen des als Startformular angegebenen Formulars
  • das Ausführen des AutoExec-Makros
  • die Anwendung einer benutzerdefinierten Ribbondefinition aus der Tabelle USysRibbons, die über die Option Name des Menübands ausgewählt wurde
  • das Ausblenden des Navigationsbereichs über die Access-Optionen für die aktuelle Datenbank
  • Verwenden der Spezialtasten von Access wie beispielsweise F11 zum Anzeigen des Navigationsbereichs

Hält der Benutzer die Umschalttaste beim Öffnen gedrückt, wird die Datenbank so geöffnet, als ob all diese Änderungen nicht vorgenommen worden wären. Also wollen wir die Wirkung des Drückens der Umschalttaste unterbinden.

Wir haben in den Optionen der Beispieldatenbank die beiden Einstellungen aus Bild 1 vorgenommen. Diese sorgen dafür, dass erstens der Navigationsbereich nicht angezeigt wird und zweitens die Spezialtasten von Access nicht genutzt werden können, um beispielsweise mit F11 den Navigationsbereich doch noch zu aktivieren.

Zwei Beispiele für Optionen, die man per Umschalttaste aushebeln kann

Bild 1: Zwei Beispiele für Optionen, die man per Umschalttaste aushebeln kann

Die Eigenschaft AllowByPassKey

Es gibt eine Eigenschaft namens AllowByPassKey, welche die Funktion der Umschalttaste beim Öffnen einer Access-Anwendung erlaubt – oder auch nicht. Diese Eigenschaft wird als Element der Properties-Auflistung der aktuellen Datenbank angelegt. Dies können wir nur per VBA erledigen, weshalb wir die Prozedur aus Listing 1 angelegt haben.

Public Sub UmschalttasteErlauben(Optional bolSperren As Boolean = True)
     Dim db As DAO.Database
     Dim prp As DAO.Property
     Set db = CurrentDb
     On Error Resume Next
     Set prp = db.Properties("AllowBypassKey")
     If Err.Number = 3270 Then
         On Error GoTo 0
         Set prp = db.CreateProperty("AllowBypassKey", dbBoolean, bolSperren)
         db.Properties.Append prp
     Else
         prp.Value = bolSperren
     End If
End Sub

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar