{"id":55000616,"date":"2008-08-01T00:00:00","date_gmt":"2021-02-11T21:21:36","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=616"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Access_2007_Sicherheitssystem_einsetzen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/","title":{"rendered":"Access 2007: Sicherheitssystem einsetzen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Laut Microsoft ist das Sicherheitssystem von Access in Datenbanken im .accdb-Format gestorben. Wir haben herausgefunden, das dies aber mitnichten so ist: Zwar gibt es keine Dialoge mehr, um die Sicherheit einzustellen und Benutzer und Gruppen zu verwalten, und auch bei hoch konvertierten Datenbanken &auml;lterer Versionen reagiert das Sicherheitssystem nicht wie erwartet, aber das ist kein Grund zum Verzweifeln: Mit ein paar kleinen Tricks sch&uuml;tzen Sie mit dem guten alten Sicherheitssystem zumindest noch die Tabellen Ihrer Anwendung.<\/b><\/p>\n<p>Die Nachricht, dass Access 2007 in Datenbanken, die im neuen Format erstellt werden, das Sicherheitssystem nicht mehr unterst&uuml;tzt, fand gemischten Anklang: Die einen interessierte dies nicht, weil das Sicherheitssystem ohnehin keinen hundertprozentigen Schutz mehr bot, die anderen waren verunsichert und fragten sich, wie sie ihre Daten zumindest rudiment&auml;r vor unbefugtem lesenden oder auch schreibenden Zugriff sch&uuml;tzen. Eine Alternative gibt es f&uuml;r diesen Fall: Man muss die Datenbank dazu in eine SQL Server-Datenbank migrieren (unabh&auml;ngig davon, ob man nun den Microsoft SQL Server oder ein Konkurrenzprodukt wie etwa MySQL verwendet).<\/p>\n<p>Es ist allerdings nach wie vor m&ouml;glich, eine Datenbank im Access 2007-Format zu sch&uuml;tzen &#8211; auch wenn sich dieser Schutz nur auf Tabellen bezieht. Aber die &uuml;brigen Objekte kann man schlie&szlig;lich auch per Code sch&uuml;tzen, indem man beim &Ouml;ffnen den aktuellen Benutzer abfragt und das Objekt dann entweder &ouml;ffnet oder dem Benutzer den Zugriff verweigert &#8211; Sie m&uuml;ssen die Datenbank dann nur in eine .accde-Datei umwandeln, damit der Benutzer den sch&uuml;tzenden Code nicht &auml;ndern und somit unwirksam machen kann.<\/p>\n<p>Das Sch&uuml;tzen der Tabellen erfordert allerdings eine Menge Mehraufwand gegen&uuml;ber &auml;lteren Access-Versionen, wobei der gr&ouml;&szlig;te Teil daraus resultiert, dass Sie die Funktionen der Dialoge zum Hinzuf&uuml;gen von Benutzern und Benutzergruppen sowie zum Setzen der Berechtigungen per VBA nachprogrammieren m&uuml;ssen.<\/p>\n<p>Dies allein reicht allerdings nicht aus: Selbst wenn Sie sich passende Routinen zurechtlegen und eine Datenbank sch&uuml;tzen, erfolgt der Zugriff auf die Tabellen ohne Probleme. Was also ist der Trick Dazu holen wir ein wenig aus: Beim Herumspielen mit einer .accdb-Datenbank fiel auf, dass der schreibende Zugriff auf die Systemtabellen wie <b>MSysObjects <\/b>nach wie vor nicht m&ouml;glich ist. Es erschien unwahrscheinlich, dass Access auch in fr&uuml;heren Versionen zwei verschiedene Sicherheitssysteme enthielt, welche die Systemtabellen auf der einen und die benutzerdefinierten Tabellen auf der anderen Seite sch&uuml;tzten. Wenn also eine Systemtabelle in einer .accdb-Datei noch gesch&uuml;tzt ist, muss das Sicherheitssystem noch vorhanden. Daf&uuml;r sprechen auch die zwar ausgeblendeten, aber immer noch vorhandenen Eintr&auml;ge zum Bearbeiten von Benutzern, Benutzergruppen und Berechtigungen in der DAO 12.0-Bibliothek.<\/p>\n<p>Eine benutzerdefinierte Tabelle l&auml;sst sich relativ einfach in eine Systemtabelle umwandeln: dazu braucht man nur eine Eigenschaft zu &auml;ndern. Das Ganze haben wir an einer vom .mdb-Format zum .accdb-Format migrierten Beispieldatenbank ausprobiert, die eine einzige gesch&uuml;tzte Tabelle enthielt. Und siehe da: Vor dem Umwandeln in eine Systemtabelle war diese Tabelle erwartungsgem&auml;&szlig; ungesch&uuml;tzt, danach aber wurde der Zugriff wie gew&uuml;nscht eingeschr&auml;nkt!<\/p>\n<p>Ein letzter Test war ebenfalls noch notwendig: Der Benutzer darf nat&uuml;rlich nicht die Eigenschaften der in eine Systemtabelle umgewandelten Tabelle &auml;ndern, da er diese sonst wieder zu einer normalen Tabelle machen kann. Aber auch dies funktionierte reibungslos, wenn man dem Benutzer die &auml;nderung des Entwurfs untersagte.<\/p>\n<p>Wir zeigen Ihnen in den folgenden Abschnitten, wie Sie eine .accdb-Anwendung sch&uuml;tzen k&ouml;nnen.<\/p>\n<p><b>Systemtabellen f&uuml;r normale Daten<\/b><\/p>\n<p>Die einzige Frage, die sich stellt, ist die, ob es irgendwelche Probleme mit Tabellen gibt, die zum Zwecke der Aktivierung des Schutzes in Systemtabellen umgewandelt wurden. Es gibt noch keine umfassenden Erfahrungen, aber zumindest auch noch keine negativen: Der Zugriff erfolgt von allen Access-Objekten wie Abfragen, Formularen und Berichten genauso wie von VBA aus f&uuml;r den mit Berechtigung angemeldeten User ohne Probleme.<\/p>\n<p>Der einzige Nachteil ist nat&uuml;rlich, dass die Tabellen im Navigationsbereich nur mit den eingebauten Systemtabellen zusammen entweder ein- oder ausgeblendet werden k&ouml;nnen. Dies ist allerdings kein Nachteil, da die Systemtabellen beim Entwickeln wohl kaum st&ouml;ren und der Endanwender diese ohnehin nicht zu Gesicht bekommen soll.<\/p>\n<p><b>Datenbank sch&uuml;tzen<\/b><\/p>\n<p>Vor dem Sch&uuml;tzen einer Datenbank sollten Sie vorsichtshalber eine Sicherheitskopie derselben anlegen.<\/p>\n<p>Anschlie&szlig;end starten Sie den Arbeitsgruppenadministrator (siehe Bild 1) &uuml;ber den folgenden Befehl, den Sie im Direktfenster des VBA-Editors (<b>Strg + G<\/b>) absetzen:<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2008_04\/Sicherheitssystem2007-web-images\/pic001_opt.jpeg\" alt=\"pic001.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Der Arbeitsgruppenadministrator von Access<\/span><\/b><\/p>\n<pre>DoCmd.RunCommand acCmdWorkgroupAdministrator<\/pre>\n<p>Immerhin ist dieser, im Gegensatz zu den Dialogen zum Verwalten von Benutzern und Benutzergruppen sowie der Berechtigungen, noch verf&uuml;gbar &#8211; und zwar auch f&uuml;r .accdb-Datenbanken.<\/p>\n<p>Dort klicken Sie auf die Schaltfl&auml;che <b>Erstellen<\/b>, woraufhin der Dialog aus Bild 2 erscheint. Dort tragen Sie Ihren Namen, die Firma und eine Arbeitsgruppen-ID ein. Die Informationen zeigt Access sp&auml;ter noch einmal an, damit Sie sich diese notieren k&ouml;nnen.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2008_04\/Sicherheitssystem2007-web-images\/pic002_opt.jpeg\" alt=\"pic002.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Festlegen des Arbeitsgruppenbesitzers<\/span><\/b><\/p>\n<p>Im folgenden Dialog geben Sie den Namen der zu verwendenden Arbeitsgruppen-Informationsdatei an, die vermutlich neu erstellt werden soll (siehe Bild 3).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2008_04\/Sicherheitssystem2007-web-images\/pic004_opt.jpeg\" alt=\"pic004.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Anlegen einer <\/span><\/b><\/p>\n<p>Nachdem Sie sich auf diese Weise an die Arbeitsgruppen-Informationsdatei angeschlossen haben, erscheinen nochmals alle wichtigen Informationen (siehe Bild 4).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2008_04\/Sicherheitssystem2007-web-images\/pic006_opt.jpeg\" alt=\"pic006.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Informationen zur <\/span><\/b><\/p>\n<p>Nun ist es aber so, dass diese Arbeitsgruppen-Informationsdatei standardm&auml;&szlig;ig mit Access verwendet wird. Sie sollten also im Anschluss wieder der Standard-Arbeitsgruppen-Informationsdatei (<b>System.mdw<\/b>) beitreten.<\/p>\n<p>Damit die neue Arbeitsgruppen-Informationsdatei in Zusammenhang mit der zu sch&uuml;tzenden Anwendung ge&ouml;ffnet wird, verwenden Sie zum &Ouml;ffnen eine entsprechende Verkn&uuml;pfung, die etwa folgenden Inhalt hat:<\/p>\n<pre>&quot;C:\\Programme\\Microsoft Office\\Office12\\MSACCESS.EXE&quot; c:\\Sicher.accdb \/wrkgrp c:\\Sicher.mdw<\/pre>\n<p>Sp&auml;ter geben Sie hier zus&auml;tzlich den Namen des Benutzers und sein Kennwort an.<\/p>\n<p>Schlie&szlig;en Sie die Anwendung und &ouml;ffnen Sie diese mit der oben beschriebenen Verkn&uuml;pfung erneut. Fragen Sie dann ab, ob die Anwendung die richtige Arbeitsgruppen-Informationsdatei verwendet. Dies erledigen Sie ganz einfach &uuml;ber die folgende Anweisung im Direktfenster:<\/p>\n<pre>Debug.Print SysCmd(acSysCmdGetWorkgroupFile)\r\nc:\\Sicher.mdw<\/pre>\n<p><b>Datenbank absichern<\/b><\/p>\n<p>Unter Access 2003 und &auml;lter w&uuml;rden Sie nun den Men&uuml;befehl <b>Extras|Sicherheit|Benutzer- und Gruppenkonten&#8230; <\/b>ausw&auml;hlen, um den Dialog <b>Benutzer- und Gruppenkonten <\/b>zu &ouml;ffnen. Da das Sicherheitssystem mit .accdb-Dateien offiziell nicht mehr unterst&uuml;tzt wird, hat Microsoft nat&uuml;rlich keinen solchen Befehl eingebaut, und auch der ersatzweise verwendbare VBA-Befehl<\/p>\n<pre>docmd.RunCommand acCmdUserAndGroupAccounts<\/pre>\n<p><!--30percent--><\/p>\n<p>steht nicht zur Verf&uuml;gung &#8211; er l&ouml;st schlicht einen Fehler aus, der darauf hinweist, dass dieser Befehl derzeit nicht verf&uuml;gbar ist (wenn Sie eine .mdb-Datenbank bearbeiten, funktioniert dies hingegen schon). Also m&uuml;ssen Sie alles per VBA erledigen, und zwar &uuml;ber die entsprechenden Elemente der DAO-Bibliothek.<\/p>\n<p><b>IntelliSense f&uuml;r verborgene Elemente aktivieren<\/b><\/p>\n<p>Die Elemente von DAO, die unter Access 2007 nur noch aus Kompatibilit&auml;tsgr&uuml;nden vorliegen, werden von IntelliSense nicht mehr ber&uuml;cksichtigt und auch im Objektkatalog nicht mehr angezeigt &#8211; zumindest nicht, bis man deren Anzeige nicht &uuml;ber den Kontextmen&uuml;eintrag <b>Verborgene Elemente anzeigen <\/b>aktiviert. Anschlie&szlig;end erscheinen diese Elemente sowohl im Objektkatalog als auch unter IntelliSense in hellgrauer Schrift. Diesen Vorgang m&uuml;ssen Sie &uuml;brigens nach jedem Neustart von Access wiederholen (siehe Bild 5).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2008_04\/Sicherheitssystem2007-web-images\/pic003_opt.jpeg\" alt=\"pic003.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Einblenden verborgener Elemente<\/span><\/b><\/p>\n<p><b>Benutzer ausgeben<\/b><\/p>\n<p>Die folgende kleine Routine gibt beispielsweise alle Benutzer des aktuellen <b>Workspace<\/b>-Objekts aus, in dessen Kontext die Datenbankanwendung l&auml;uft.<\/p>\n<p>Optional geben Sie die Gruppe an, deren Benutzer die Routine ausgeben soll:<\/p>\n<pre>Public Sub ShowUsers(Optional _\r\n    strGroup As Variant)\r\n    Dim wrk As DAO.Workspace\r\n    Dim usr As DAO.User\r\n    Dim grp As DAO.Group\r\n    Set wrk = DBEngine.Workspaces(0)\r\n    If IsMissing(strGroup) Then\r\n        For Each usr In wrk.Users\r\n            Debug.Print usr.Name\r\n        Next usr\r\n    Else\r\n        Set grp = wrk.Groups(strGroup)\r\n        For Each usr In grp.Users\r\n            Debug.Print usr.Name\r\n        Next usr\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Gruppen ausgeben<\/b><\/p>\n<p>Auch die Gruppen lassen sich leicht auflisten:<\/p>\n<pre>Public Sub ShowGroups()\r\n    Dim wrk As DAO.Workspace\r\n    Dim grp As DAO.Group\r\n    Set wrk = DBEngine.Workspaces(0)\r\n    For Each grp In wrk.Groups\r\n        Debug.Print grp.Name\r\n    Next grp\r\nEnd Sub<\/pre>\n<p>Um die Datenbank initial abzusichern, m&uuml;ssen Sie dem <b>admin<\/b>-Konto ein Kennwort zuweisen. Das erledigt die <b>NewPassword<\/b>-Funktion, die durch folgende Routine gekapselt wird:<\/p>\n<pre>Public Function SetPassword(strUsername As _\r\n        String, strPasswordOld As String, _\r\n        strPasswordNew As String)\r\n    Dim wrk As DAO.Workspace\r\n    Dim usr As DAO.User\r\n    Set wrk = DBEngine.Workspaces(0)\r\n    Set usr = wrk.Users(strUsername)\r\n    usr.NewPassword strPasswordOld, _\r\n        strPasswordNew\r\nEnd Function<\/pre>\n<p>Der Aufruf bei leerem Kennwort lautet beispielsweise so:<\/p>\n<pre>SetPassword &quot;admin&quot;, &quot;&quot;, &quot;Kennwort&quot;<\/pre>\n<p>Beim n&auml;chsten &Ouml;ffnen der Datenbank erscheint ein Dialog, der zum Eingeben des Kennworts auffordert (siehe Bild 6). Entfernen k&ouml;nnen Sie das Kennwort durch Setzen einer leeren Zeichenkette als Kennwort:<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2008_04\/Sicherheitssystem2007-web-images\/pic005_opt.jpeg\" alt=\"pic005.tif\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Dieser Dialog erscheint, wenn man dem Administratorkonto ein Kennwort zugewiesen hat.<\/span><\/b><\/p>\n<pre>SetPassword &quot;admin&quot;, &quot;Kennwort&quot;, &quot;&quot;<\/pre>\n<p><b>Neuen Benutzer anlegen<\/b><\/p>\n<p>Sie ben&ouml;tigen einen Benutzer, der als neuer Administrator fungieren wird. Dem bestehenden Administratorkonto <b>admin <\/b>entziehen Sie sp&auml;ter alle Rechte und entfernen es aus der Gruppe der Administratoren. Die folgende Routine legt einen neuen Benutzer an:<\/p>\n<pre>Public Function AddUser(strUsername As String, _\r\n        strPID As String, _\r\n        strPassword As String) As Boolean\r\n    Dim wrk As DAO.Workspace\r\n    Dim usr As DAO.User\r\n    On Error GoTo AddUser_Err\r\n    Set wrk = DBEngine.Workspaces(0)\r\n    Set usr = wrk.CreateUser(strUsername, _\r\n        strPID, strPassword)\r\n    wrk.Users.Append usr\r\n    AddUser = True\r\nAddUser_Exit:\r\n    Exit Function\r\nAddUser_Err:\r\n    Select Case Err.Number\r\n        Case 3390 &apos;User schon vorhanden\r\n            Resume AddUser_Exit\r\n        Case Else\r\n            MsgBox Err.Number &amp; &quot; &quot; _\r\n                &amp; Err.Description\r\n    End Select\r\n    Resume AddUser_Exit\r\nEnd Function<\/pre>\n<p><b>Benutzer l&ouml;schen<\/b><\/p>\n<p>Auch das L&ouml;schen von Benutzern ist m&ouml;glich; aus Platzgr&uuml;nden drucken wir den notwendigen Code hier nicht ab. Sie finden ihn aber in der Routine <b>DeleteUser <\/b>im Modul <b>mdlSecurity <\/b>der Beispieldatenbanken.<\/p>\n<p><b>Benutzer zur Gruppe hinzuf&uuml;gen<\/b><\/p>\n<p>Nun f&uuml;gen Sie den neuen Benutzer zur Gruppe <b>admins <\/b>hinzu. Dies erledigt die Funktion <b>AddUserToGroup<\/b>, die Sie mit folgender Anweisung aufrufen:<\/p>\n<pre>AddUserToGroup &quot;aiuadmin&quot;, &quot;admins&quot;<\/pre>\n<p>Die Funktion sieht so aus:<\/p>\n<pre>Public Function AddUserToGroup(strUsername As _\r\n        String, strGroup As String) As Boolean\r\n    Dim wrk As DAO.Workspace\r\n    Dim grp As DAO.Group\r\n    Dim usr As DAO.User\r\n    On Error GoTo AddUserToGroup_Err\r\n    Set wrk = DBEngine(0)\r\n    Set grp = wrk.Groups(strGroup)\r\n    Set usr = grp.CreateUser(strUsername)\r\n    grp.Users.Append usr\r\n    AddUserToGroup = True\r\n    AddUserToGroup_Exit:\r\n    Exit Function\r\nAddUserToGroup_Err:\r\n    Select Case Err.Number\r\n        Case 3032 &apos;User schon in Gruppe\r\n            Resume AddUserToGroup_Exit\r\n        Case 3265 &apos;Gruppe nicht vorhanden\r\n            Resume AddUserToGroup_Exit\r\n        Case 3030 &apos;User nicht vorhanden\r\n            Resume AddUserToGroup_Exit\r\n        Case Else\r\n            MsgBox Err.Number &amp; &quot; &quot; _\r\n                &amp; Err.Description\r\n    End Select\r\n    Resume AddUserToGroup_Exit\r\nEnd Function<\/pre>\n<p><b>Benutzer aus Gruppe entfernen<\/b><\/p>\n<p>Anschlie&szlig;end entfernen Sie das bisher einzige in der Gruppe <b>admins <\/b>enthaltene Benutzerkonto aus dieser Gruppe.<\/p>\n<pre>Public Function RemoveUserFromGroup(strUsername _\r\n        As String, strGroup As String)\r\n    Dim wrk As DAO.Workspace\r\n    Dim usr As DAO.User\r\n    Dim grp As DAO.Group\r\n    On Error GoTo RemoveUserFromGroup_Err\r\n    Set wrk = DBEngine(0)\r\n    Set grp = wrk.Groups(strGroup)\r\n    grp.Users.Delete strUsername\r\n    RemoveUserFromGroup = True\r\nRemoveUserFromGroup_Exit:\r\n    Exit Function\r\nRemoveUserFromGroup_Err:\r\n    Select Case Err.Number\r\n        Case 3265 &apos;User oder Group n. vorhanden\r\n            Resume RemoveUserFromGroup_Exit\r\n        Case Else\r\n            MsgBox Err.Number &amp; &quot; &quot; _\r\n                &amp; Err.Description\r\n    End Select\r\n    Resume RemoveUserFromGroup_Exit\r\nEnd Function<\/pre>\n<p>Um sicherzugehen, dass der neue Benutzer der einzige Eintrag in der Gruppe <b>admins <\/b>ist, verwenden Sie die bereits weiter oben vorgestellte Routine <b>ShowUsers<\/b>. Auf diese Weise k&ouml;nnen Sie alle Benutzer einer Gruppe ausgeben lassen.<\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Als neuer Administrator anmelden<\/p>\n<p>Nun melden Sie sich unter dem neuen Administratorkonto an der Datenbank an. Dazu muss Access beendet werden (das Schlie&szlig;en der Datenbank reicht nicht aus) und Sie &ouml;ffnen die Datenbank dann erneut mit der oben angegebenen Verkn&uuml;pfung. Im Anmeldedialog geben Sie nun, soweit diese Informationen nicht Bestandteil der Verkn&uuml;pfung sind, Name und Kennwort des neuen Administrators ein.<\/p>\n<p><b>Administrator als Besitzer aller Objekte <\/b><\/p>\n<pre>festlegen<\/pre>\n<p>Noch hat der neue Administrator wenig zu sagen: So ist er zum Beispiel noch nicht Besitzer der bestehenden Objekte der Datenbank. Dies holen Sie nun nach, indem Sie zun&auml;chst eine neue, leere Datenbank anlegen und &ouml;ffnen. Auch hier erscheint nun der Anmeldedialog, denn die Workgroup-Datei, die Sie vorhin angelegt haben, ist immer noch die g&uuml;ltige und so werden alle neuen Datenbanken zun&auml;chst dieser Datei angeschlossen.<\/p>\n<p>Melden Sie sich unter dem neuen Administratorkonto an und importieren Sie alle Objekte der anderen Datenbank.<\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Benutzer entmachten<\/p>\n<p>Die Mitglieder der Benutzergruppe <b>Benutzer <\/b>(<b>users<\/b>) besitzen standardm&auml;&szlig;ig volle Zugriffsrechte auf alle Datenbankobjekte. Neue Benutzer werden automatisch dieser Gruppe zugeordnet. Daher m&uuml;ssen Sie dieser Gruppe pauschal alle Berechtigungen entziehen.<\/p>\n<p><b>Tabellen in Systemtabellen umwandeln<\/b><\/p>\n<p>Bevor Sie nun Berechtigungen f&uuml;r die einzelnen Benutzer\/Benutzergruppen und Access-Tabellen festlegen, sollten Sie die Tabellen zun&auml;chst in Systemtabellen umwandeln &#8211; sonst zeigen die gesetzten Zugriffsrechte n&auml;mlich keine Wirkung. Dies erledigt die folgende Routine f&uuml;r alle Tabellen:<\/p>\n<pre>Public Function MakeSystemObjects()\r\n    Dim db As DAO.Database\r\n    Dim tdf As DAO.TableDef\r\n    Set db = DBEngine(0)(0)\r\n    For Each tdf In db.TableDefs\r\n        If (tdf.Attributes And _\r\n            TableDefAttributeEnum. _\r\n            dbSystemObject) = False Then\r\n                tdf.Attributes = tdf.Attributes _\r\n                    Or TableDefAttributeEnum. _\r\n                    dbSystemObject\r\n        End If\r\n    Next tdf\r\nEnd Function<\/pre>\n<p><b>Wo sind die Objekte<\/b><\/p>\n<p>Wer bereits eine Menge Objekte in der aktuellen Datenbank angelegt hat, erschrickt nun m&ouml;glicherweise, falls der Navigationsbereich kein einziges Objekt mehr anzeigt &#8211; egal, welche Einstellungen man im Dialog <b>Navigationsoptionen <\/b>(Kontextmen&uuml; des Navigationsbereich-Kopfes|<b>Navigationsoptionen<\/b>) einstellt. Sie k&ouml;nnen sich aber davon &uuml;berzeugen, dass die Objekte noch vorhanden sind, indem Sie beispielsweise die Anzahl der Datens&auml;tze einer der Tabellen im Direktfenster ausgeben lassen:<\/p>\n<pre> CurrentDB.TableDefs(&quot;tblArtikel&quot;).RecordCount<\/pre>\n<p><b>Dabei stellen Sie auch fest, dass die VBA-Entwicklungsumgebung weiterhin alle Module auff&uuml;hrt. Wenn Sie sich wieder unter dem alten Administratorkonto anmelden, zeigt Access die Objekte wieder vollst&auml;ndig an. Neuen Admin zum Besitzer aller Objekte machen<\/b><\/p>\n<p>Damit der neue Administrator-Benutzer wirklich die kompletten Rechte an den Objekten der Tabelle hat, muss er Ersteller der Objekte sein. Dies erreichten Sie, indem Sie Access im Kontext des neuen Administratorkontos &ouml;ffneten und alle Objekte der ungesch&uuml;tzten Datenbank in die neue Datenbank importierten &#8211; der aktuelle Benutzer wird automatisch Ersteller der Objekte.<\/p>\n<p><b>Berechtigungen setzen<\/b><\/p>\n<p>Schlie&szlig;lich m&uuml;ssen Sie noch die Berechtigungen der einzelnen Benutzer oder Benutzergruppen f&uuml;r die Tabellen festlegen. Daf&uuml;r liefert die Beispieldatenbank im Modul <b>mdlSecurity <\/b>zwei Routinen. Die erste hei&szlig;t <b>SetPermissions <\/b>und stellt die Berechtigungen f&uuml;r den angegebenen Benutzer beziehungsweise die Benutzergruppe in Bezug auf die Datenbank selbst ein. Die zweite Routine namens <b>SetPermissionsObject <\/b>legt die Berechtigungen des angegebenen Benutzers oder der Benutzergruppe f&uuml;r das im zweiten Parameter festgelegte Objekt fest.<\/p>\n<p>Der letzte Parameter beider Routinen erwartet die Berechtigungsstufe, die Sie durch die folgenden Konstanten oder einer additiven Kombination derer angeben k&ouml;nnen:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>dbSecReadDef<\/b>: Der Benutzer kann die Tabellendefinition sowie Spalten- und Indexinformationen lesen.<\/li>\n<li class=\"aufz-hlung\"><b>DbSecWriteDef<\/b>: Der Benutzer kann die Tabellendefinition sowie Spalten- und Indexinformationen &auml;ndern.<\/li>\n<li class=\"aufz-hlung\"><b>DbSecRetrieveData<\/b>: Der Benutzer kann Daten vom Document-Objekt abrufen.<\/li>\n<li class=\"aufz-hlung\"><b>DbSecInsertData<\/b>: Der Benutzer kann Datens&auml;tze hinzuf&uuml;gen.<\/li>\n<li class=\"aufz-hlung\"><b>DbSecReplaceData<\/b>: Der Benutzer kann Datens&auml;tze &auml;ndern.<\/li>\n<li class=\"aufz-hlung\"><b>DbSecDeleteData<\/b>: Der Benutzer kann Datens&auml;tze l&ouml;schen.<\/li>\n<\/ul>\n<p>F&uuml;r die Datenbank selbst gelten diese Konstanten:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>DbSecDBAdmin<\/b>: Der Benutzer kann eine Datenbank replizieren und das Datenbankkennwort &auml;ndern.<\/li>\n<li class=\"aufz-hlung\"><b>DbSecDBCreate<\/b>: Der Benutzer kann neue Datenbanken erstellen. Diese Einstellung ist nur im <b>Databases<\/b>-Container der Arbeitsgruppen-Informationsdatei (<b>System.mdw<\/b>) m&ouml;glich.<\/li>\n<li class=\"aufz-hlung\"><b>dbSecDBExclusive<\/b>: Der Benutzer hat exklusiven Zugriff auf die Datenbank.<\/li>\n<li class=\"aufz-hlung\"><b>dbSecDBOpen<\/b>: Der Benutzer kann die Datenbank &ouml;ffnen.<\/li>\n<\/ul>\n<p>Um einem Benutzer alle Berechtigungen an der Datenbank zu entziehen, verwenden Sie beispielsweise die folgende Anweisung:<\/p>\n<pre>SetPermissions &quot;admin&quot;, dbSecNoAccess<\/pre>\n<p>Wenn Sie die Berechtigungen f&uuml;r eine einzelne Tabelle entziehen m&ouml;chten, verwenden Sie <b>SetPermissionsObject<\/b>:<\/p>\n<pre>SetPermissionsObject &quot;admin&quot;, dbSecNoAccess, &quot;tblArtikel&quot;<\/pre>\n<p>Das Hinzuf&uuml;gen von Berechtigungen geschieht &auml;hnlich, allerdings mit den weiter oben aufgelisteten Konstanten. Soll eine Benutzergruppe <b>Standardbenutzer<\/b> eine Tabelle nur lesend und schreibend bearbeiten, aber keine Datens&auml;tze l&ouml;schen k&ouml;nnen, verwenden Sie diesen Aufruf:<\/p>\n<pre>SetPermissionsObject &quot;Standardbenutzer&quot;, &quot;tblArtikel&quot;, dbSecInsertData or dbSecReplaceData or dbSecRetrieveData<\/pre>\n<p><b>Aktuelle Berechtigungen abfragen<\/b><\/p>\n<p>Die beiden Routinen <b>GetAllPermissions<\/b> und <b>GetPermissionsObject <\/b>geben die aktuellen Berechtigungen von Benutzern oder Gruppen aus.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Das Sch&uuml;tzen von Access-Tabellen ist im .accdb-Format entgegen den Aussagen von Microsoft immer noch m&ouml;glich. In der folgenden Ausgabe stellen wir Ihnen einen Dialog vor, mit dem Sie die Berechtigungen f&uuml;r Tabellen auch in Access 2007 komfortabel setzen k&ouml;nnen.<\/p>\n<p>Weitere allgemeine Informationen zum Sch&uuml;tzen von Access-Datenbanken finden Sie unter [1].<\/p>\n<p><b>Literatur<\/b><\/p>\n<p class=\"quellen\">[1] http:\/\/support.microsoft.com\/support\/access\/content\/secfaq.aspSD=gn&amp;LN=de&amp;gssnb=1#_Toc493299693<\/p>\n<pre>Arbeitsgruppen-Informationsdatei\r\nArbeitsgruppen-Informationsdatei<\/pre>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Sicher.accdb<\/p>\n<p>Sicher.bat<\/p>\n<p>Sicher.mdw<\/p>\n<p>Unsicher.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/8CA267D5-614D-475B-B268-7AE65BB1316C\/aiu_616.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Laut Microsoft ist das Sicherheitssystem von Access in Datenbanken im .accdb-Format gestorben. Wir haben herausgefunden, das dies aber mitnichten so ist: Zwar gibt es keine Dialoge mehr, um die Sicherheit einzustellen und Benutzer und Gruppen zu verwalten, und auch bei hoch konvertierten Datenbanken &auml;lterer Versionen reagiert das Sicherheitssystem nicht wie erwartet, aber das ist kein Grund zum Verzweifeln: Mit ein paar kleinen Tricks sch&uuml;tzen Sie mit dem guten alten Sicherheitssystem zumindest noch die Tabellen Ihrer Anwendung.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662008,66042008,44000038],"tags":[],"class_list":["post-55000616","post","type-post","status-publish","format-standard","hentry","category-662008","category-66042008","category-Sicherheit"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Access 2007: Sicherheitssystem einsetzen - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Access 2007: Sicherheitssystem einsetzen\" \/>\n<meta property=\"og:description\" content=\"Laut Microsoft ist das Sicherheitssystem von Access in Datenbanken im .accdb-Format gestorben. Wir haben herausgefunden, das dies aber mitnichten so ist: Zwar gibt es keine Dialoge mehr, um die Sicherheit einzustellen und Benutzer und Gruppen zu verwalten, und auch bei hoch konvertierten Datenbanken &auml;lterer Versionen reagiert das Sicherheitssystem nicht wie erwartet, aber das ist kein Grund zum Verzweifeln: Mit ein paar kleinen Tricks sch&uuml;tzen Sie mit dem guten alten Sicherheitssystem zumindest noch die Tabellen Ihrer Anwendung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:21:36+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"14\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Access 2007: Sicherheitssystem einsetzen\",\"datePublished\":\"2021-02-11T21:21:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/\"},\"wordCount\":2331,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cbccc32ae6f04c1c8eadf8e53b7fe17b\",\"articleSection\":[\"2008\",\"4\\\/2008\",\"Sicherheit\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/\",\"name\":\"Access 2007: Sicherheitssystem einsetzen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cbccc32ae6f04c1c8eadf8e53b7fe17b\",\"datePublished\":\"2021-02-11T21:21:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cbccc32ae6f04c1c8eadf8e53b7fe17b\",\"contentUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cbccc32ae6f04c1c8eadf8e53b7fe17b\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Access_2007_Sicherheitssystem_einsetzen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Access 2007: Sicherheitssystem einsetzen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Access 2007: Sicherheitssystem einsetzen - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/","og_locale":"de_DE","og_type":"article","og_title":"Access 2007: Sicherheitssystem einsetzen","og_description":"Laut Microsoft ist das Sicherheitssystem von Access in Datenbanken im .accdb-Format gestorben. Wir haben herausgefunden, das dies aber mitnichten so ist: Zwar gibt es keine Dialoge mehr, um die Sicherheit einzustellen und Benutzer und Gruppen zu verwalten, und auch bei hoch konvertierten Datenbanken &auml;lterer Versionen reagiert das Sicherheitssystem nicht wie erwartet, aber das ist kein Grund zum Verzweifeln: Mit ein paar kleinen Tricks sch&uuml;tzen Sie mit dem guten alten Sicherheitssystem zumindest noch die Tabellen Ihrer Anwendung.","og_url":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:21:36+00:00","og_image":[{"url":"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"14\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Access 2007: Sicherheitssystem einsetzen","datePublished":"2021-02-11T21:21:36+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/"},"wordCount":2331,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b","articleSection":["2008","4\/2008","Sicherheit"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/","url":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/","name":"Access 2007: Sicherheitssystem einsetzen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b","datePublished":"2021-02-11T21:21:36+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#primaryimage","url":"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b","contentUrl":"http:\/\/vg01.met.vgwort.de\/na\/cbccc32ae6f04c1c8eadf8e53b7fe17b"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Access_2007_Sicherheitssystem_einsetzen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Access 2007: Sicherheitssystem einsetzen"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000616"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000616\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}