Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Datenbank mit Sicherheitssystem nach Access 2007 konvertieren

Bislang hie es, das Microsoft das Sicherheitssystem mit Benutzerverwaltung auf Basis einer .mdw-Datei ersatzlos gestrichen htte. Das ist mitnichten der Fall: Es gibt das Sicherheitssystem immer noch, und es verrichtet anstandslos seinen Dienst. Es ist nur ein wenig aufwendiger, die notwendigen Einstellungen vorzunehmen - aber das drfte die vielen Programmierer, die das Sicherheitssystem allein fr die Verwaltung von Benutzern und Gruppen eingesetzt haben, egal sein.

Sicherheitssystem oder nicht?

Eigentlich haben sich ja schon alle damit abgefunden, dass es das Sicherheitssystem in Access 2007 nicht mehr gibt. Einige trauerten ihm nach: Erstens diejenigen, die das System zum Schutz von Daten und Objekten, also im Sinne der eigentlichen Bestimmung eingesetzt haben, und zweitens diejenigen, die dankend die Mglichkeit der Benutzerverwaltung angenommen haben.

Das das Sicherheitssystem nicht wirklich sicher ist und mit entsprechendem Know-how geknackt werden kann, machte den Abschiedsschmerz ertrglich: So wird man wenigsten gezwungen, zum SQL Server oder einem alternativen System zu wechseln und so eine wirklich sichere Datenhaltung zu betreiben.

Die Benutzer- und Gruppenverwaltung fehlt einigen aber schon: Immerhin erspart es einem die Verwaltung von Benutzern und Gruppen in selbst definierten Tabellen und die Programmierung des Anmeldedialogs, und den Namen des aktuellen Benutzers konnte man kurz mit der Funktion CurrentUser auslesen.

Zuflle ...

... gibt es immer wieder, und manche fhren dann zu berraschenden Erkenntnissen: Da teilt mir doch ein Kunde mit, er habe eine Access 2003-Datenbank nach Access 2007 hochkonvertiert und das Sicherheitssystem wrde ohne Probleme greifen.

Also schnell eine geschtzte MDB gegriffen, mit Access 2007 in eine ACCDB konvertiert und - nichts ist mit Schutz! Schade, das wre eine interessante Neuigkeit gewesen. Wenn man eine geschtzte MDB in eine ACCDB umwandelt und dann wieder zurckkonvertiert, gibt es allerdings Interessantes zu beobachten: Die Datenbank ist immer noch geschtzt! Die ACCDB scheint also die dafr verantwortlichen Informationen (die sich ja auf die MDW-Datei und die MDB-Datenbank aufteilen) von der MDB zu bernehmen.

Ein Schelm, wer Bses dabei denkt ... aber msste Access 2007 nicht eigentlich auch das Sicherheitssystem einsetzen? Immerhin kann man ja auch auf Systemtabellen nur lesend zugreifen. Dafr gibt es doch wohl keinen anderen Mechanismus? Nun denn, einen Versuch ist es Wert: Hochkonvertierte und geschtzte ACCDB geschnappt, eine (in der MDB) geschtzte Tabelle geschnappt und diese in eine Systemtabelle umgewandelt (entsprechende Berechtigung vorausgesetzt):

CurrentDB.TableDefs("<Tabellenname>").Attributes = CurrentDB.TableDefs("<Tabellenname>").Attributes or dbSystemobject

Danach schliet man Access, ffnet die Datenbank erneut - diesmal unter einem Account mit eingeschrnkten Berechtigungen fr die prparierte Tabelle - und siehe da: Die Tabelle ist geschtzt!

Und sonst?

Leider lassen sich die anderen Objekte nicht auf die gleiche Art schtzen: Es gibt schlicht keine beschreibbare Eigenschaft, mit der man etwa ein Formular in ein Systemobjekt umwandeln kann.

Die Frage ist aber ohnehin, ob man andere Objekte als die in den Tabellen gespeicherten Daten schtzen muss.

Wie sieht es mit bestehenden ACCDB-Datenbanken aus - lassen sich die ebenfalls unter Access 2007 schtzen? Ja, das funktioniert: Allerdings lassen sich die Dialoge zum Anlegen von Benutzern und Gruppen sowie zum Einstellen der Zugriffsrechte auf die verschiedenen Datenbankobjekte nicht ffnen (auch die entsprechenden DoCmd.RunCommand-Anweisungen mit den Parametern acCmdUserAndGroupAccounts und acCmdUserAndGroupPermissions funktionieren nicht).

Wie Sie eine ungeschtzte Datenbank im ACCDB-Format in Access 2007 schtzen, erfahren Sie hier.

 

 

© 2003-2015 André Minhorst Alle Rechte vorbehalten.