Home > Artikel > Ausgabe 4/2014 > Vertrauenswürdigkeit per Makro prüfen

Vertrauenswürdigkeit per Makro prüfen

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Mit Access 2007 hat Microsoft Techniken zur Prüfung der Vertrauenswürdigkeit einer Datenbank eingeführt, wobei die Datenbank durch den Benutzer als solche klassifiziert werden kann/muss (es gibt auch noch die Möglichkeit der digitalen Signatur, die aber praktisch kaum eingesetzt wird). Leider gibt es unter Access Einstellungen, die das Ausführen von VBA verhindern, dem Benutzer aber andererseits keine Information darüber liefern, dass der Funktionsumfang der Datenbank aufgrund von Restriktionen eingeschränkt ist. Dieser Artikel zeigt, wie Sie dies umgehen können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1404_VertrauenswuerdigkeitPerMakro.accdb.

Datenbank funktioniert nicht

Ist Ihnen das auch schon einmal passiert? Sie schicken einem Kunden eine Datenbank, die auf Ihrem Rechner einwandfrei funktionierte, aber beim Kunden geht plötzlich gar nichts mehr – außer vielleicht das Öffnen des Startformulars? Dies deutet darauf hin, dass der Kunde Sicherheitseinstellungen verwendet, die das Ausführen von VBA-Code komplett unterbinden. Bei den Standardeinstellungen zeigt Access für Datenbanken, die nicht als vertrauenswürdiges Dokument eingestuft wurden und sich auch nicht in einem vertrauenswürdigen Verzeichnis befinden, die gelbe Statusleiste aus Bild 1 an.

Diese Sicherheitswarnung wird gern übersehen ... oder erscheint erst gar nicht.

Bild 1: Diese Sicherheitswarnung wird gern übersehen ... oder erscheint erst gar nicht.

Es kann allerdings auch sein, dass ein allzu sicherheitsbedürftiger Admin oder auch Benutzer die Sicherheitseinstellungen in den Access-Optionen so anpasst, dass selbst diese Meldung nicht angezeigt und der enthaltene VBA-Code schlicht nicht ausgeführt wird (Details hierzu finden Sie im Artikel Vertrauenswürdige Datenbanken).

Spätestens nach der Lektüre diese Artikels wissen Sie als Entwickler natürlich, was zu tun ist, wenn sich der Benutzer Ihrer Anwendung bei Ihnen meldet und Ihnen mitteilt, dass diese nicht funktioniert. Sie liefern dem Benutzer dann die nötigen Informationen, damit dieser die Datenbankdatei entweder zur Liste der vertrauenswürdigen Dokumente hinzufügt oder das Verzeichnis der Anwendung als vertrauenswürdig kennzeichnet.

Benutzer beim Start informieren

Sie können allerdings auch gleich in der Datenbank eine entsprechende Meldung einbauen und dem Benutzer damit die benötigten Anweisungen übergeben. Es gibt nämlich die Möglichkeit, gewisse Abläufe trotz strengster Sicherheitseinstellungen durchzuführen. Dabei handelt es sich um einige spezielle Makro-Befehle.

Makro anlegen

Um das benötigte Makro zu erstellen, legen Sie etwa unter Access 2010 mit dem Ribbon-Befehl Erstellen|Makros und Code|Makro ein neues Makro an (siehe Bild 2).

Anlegen eines neuen Makros

Bild 2: Anlegen eines neuen Makros

Diesem fügen Sie dann zunächst eine Wenn-Bedingung hinzu. Der Bedingungsausdruck lautet:

Nicht [CurrentProject].[IsTrusted]

Achtung: Sie müssen unbedingt CurrentProject und IsTrusted in eckige Klammern einfassen.

Diese Bedingung ist erfüllt, wenn die Datenbank nicht als vertrauenswürdig eingestuft wird – also wenn sie nicht in einem vertrauenswürdigen Verzeichnis liegt oder zur Liste der vertrauenswürdigen Dokumente hinzugefügt wurde (siehe Bild 3).

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!