{"id":55001159,"date":"2018-12-01T00:00:00","date_gmt":"2020-05-13T21:12:43","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1159"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/","title":{"rendered":"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Im Beitrag &#8222;SQL Server: Sicherheit und Benutzerverwaltung&#8220; haben wir gezeigt, wie Sie die Sicherheitsfunktionen f&uuml;r den Zugriff auf SQL Server und SQL Server-Datenbanken f&uuml;r Benutzergruppen und Benutzer einrichten. Damit ist der Zugriff auf die Elemente des SQL Servers geregelt. Was aber ist mit den Objekten im Access-Frontend &#8211; also beispielsweise mit Formularen, Schaltfl&auml;chen, Ribbon-Eintr&auml;gen und so weiter Wenn wir schon Benutzer und Benutzergruppen im SQL Server einrichten, m&ouml;chten wir diese ja auch nutzen, um die Elemente der Benutzeroberfl&auml;che je nach der Anmeldung f&uuml;r Benutzergruppe oder Benutzer freizugeben oder auch nicht. Ein Beispiel daf&uuml;r, wie Sie dies realisieren k&ouml;nnen, liefert der vorliegende Beitrag. In diesem ersten Teil erstellen wir das Datenmodell f&uuml;r die Berechtigungsverwaltung.<\/b><\/p>\n<p>Mit dem Anlegen von Anmeldungen f&uuml;r Benutzer und Benutzergruppen auf Windows-Basis oder f&uuml;r Benutzer auf SQL-Server-Basis, deren Zuweisung an die verschiedenen Datenbanken und dem Einstellen der Berechtigungen f&uuml;r die Elemente dieser Datenbanken haben Sie schon einen gro&szlig;en Schritt getan: Sie haben daf&uuml;r gesorgt, dass jeder Benutzer nur auf die Daten zugreifen darf, die f&uuml;r die jeweilige Anmeldung freigegeben sind.<\/p>\n<p>Nun besitzt eine moderne Access-Anwendung ein Ribbon, mit dem sich die einzelnen Funktionen der Anwendung aufrufen lassen. Normalerweise sind alle Befehle des Ribbons aktiviert und sichtbar. Wenn Sie eine Anwendung erstellen, die von verschiedenen Benutzergruppen genutzt wird, wollen Sie aber m&ouml;glicherweise nicht immer alle Funktionen f&uuml;r alle Benutzergruppen freischalten. So k&ouml;nnte ein Datenbank-Frontend gleichzeitig die Formulare, Berichte und Funktionen enthalten, die nur f&uuml;r die Bestellannahme erforderlich sind. Die dortigen Mitarbeiter sollen aber vielleicht nicht die Auswertungen sehen, die etwa f&uuml;r das Management interessant sind. Also wollen wir verschiedene Dinge erreichen: Erstens sollen Bereiche, die f&uuml;r bestimmte Benutzergruppen nicht vorgesehen sind, nicht zu &ouml;ffnen sein. Zweitens sollen auch gar keine Steuer-elemente im Ribbon oder auch in Formularen vorhanden sein, um diese Bereiche zu &ouml;ffnen &#8211; oder zumindest sollen diese deaktiviert werden.<\/p>\n<h2>Berechtigungen je Benutzergruppe<\/h2>\n<p>Die folgende L&ouml;sung orientiert sich an der Windows-Authentifizierung, wie wir sie im Beitrag <b>SQL Server: Sicherheit und Benutzerverwaltung <\/b>(<b>www.access-im-unternehmen.de\/1154<\/b>) vorgestellt haben. Das hei&szlig;t, dass wir die Berechtigungen mit der Benutzergruppen abgleichen, denen die jeweiligen Benutzer angeh&ouml;ren.<\/p>\n<p>Im Einzelnen soll der Ablauf so aussehen, dass der Benutzer sich &uuml;ber seine Windows-Anmeldung und die zugeordnete Benutzergruppe an den SQL Server anmeldet. Dort haben wir bereits ausschlie&szlig;lich Anmeldungen auf Basis der vorhandenen Benutzergruppen vorgesehen. Wenn nun das Ribbon f&uuml;r einen Benutzer geladen wird, soll die Anwendung in einer Tabelle auf dem SQL Server pr&uuml;fen, ob die Benutzergruppe, welcher der Benutzer angeh&ouml;rt, die Berechtigungen zur Anzeige der Steuer-elemente des Ribbons besitzt. Dazu verwenden wir drei Tabellen. Die erste enth&auml;lt alle Ribbon-Steuerelemente, Formulare, Formular-Steuerelemente und Berichte, f&uuml;r die Berechtigungen gepr&uuml;ft werden sollen. Die zweite enth&auml;lt die verschiedenen Berechtigungsstufen, in diesem Fall Keine, <b>Lesen <\/b>und <b>Alle<\/b>. Damit sollten alle wichtigen F&auml;lle abgedeckt sein. Sie k&ouml;nnen diese Tabelle aber nach Bedarf selbst erweitern. Die dritte Tabelle ist eine Verkn&uuml;pfungstabelle zwischen den beiden ersten Tabellen und legt f&uuml;r jedes in der ersten Tabelle aufgef&uuml;hrte Element die Berechtigung aus der zweiten Tabelle fest.<\/p>\n<p>Nun ben&ouml;tigen wir noch auf Access-Seite entsprechende Prozeduren, die vor dem Anzeigen eines Ribbons, eines Formulars oder eines Berichts aufgerufen werden und f&uuml;r die jeweiligen Elemente pr&uuml;fen, ob die Benutzergruppe des aktuellen Benutzers diese Elemente nutzen darf. Voraussetzung f&uuml;r die Sicherheit dieser Vorgehensweise ist, dass der Benutzer den Quellcode in der Access-Anwendung nicht einsehen kann.<\/p>\n<h2>Benutzergruppen und Benutzer unter Windows anlegen<\/h2>\n<p>Damit Sie die folgenden Beispiele reproduzieren k&ouml;nnen, legen Sie zwei Benutzergruppen namens <b>Bestellannahme <\/b>und <b>Management <\/b>an sowie zwei Benutzer namens <b>Harry Klein <\/b>und <b>Peter Gross<\/b>. Diese ordnen Sie jeweils einer Benutzergruppe zu. Dabei brauchen Sie nicht umst&auml;ndlich in der Windows-Systemsteuerung zu arbeiten, sondern k&ouml;nnen dies bequem &uuml;ber die Kommandozeile erledigen. Diese &ouml;ffnen Sie wie im Beitrag <b>SQL Server: Sicherheit und Benutzerverwaltung <\/b>im Administrator-Modus. Danach brauchen Sie nur noch die folgenden sechs Anweisungen einzugeben und per Eingabetaste auszuf&uuml;hren:<\/p>\n<pre>net.exe USER \/ADD \"Harry Klein\" password\r\nnet.exe USER \/ADD \"Peter Gross\" password\r\nnet.exe LOCALGROUP \/ADD Bestellannahme\r\nnet.exe LOCALGROUP \/ADD Management\r\nnet.exe LOCALGROUP Management \/ADD \"Peter Gross\"\r\nnet.exe LOCALGROUP Bestellannahme \/ADD \"Harry Klein\"<\/pre>\n<p>Dann legen Sie wie im gleichen Beitrag beschrieben zwei Anmeldungen im SQL Server Management Studio f&uuml;r die beiden Benutzergruppen <b>Bestellannahme <\/b>und <b>Management <\/b>an. Das k&ouml;nnen Sie &uuml;ber den Dialog erledigen, aber Sie haben auch die M&ouml;glichkeit, schnell ein Skript zu schreiben (oder dieses hier zu kopieren &#8211; nicht vergessen, den Platzhalter <b><Server> <\/b>zu ersetzen). Das folgende Skript legt eine neue Anmeldung f&uuml;r die Windows-Benutzergruppe Management an und stellt die Standarddatenbank auf <b>Suedsturm_SQL <\/b>ein. Dann erstellt das Skript einen neuen Benutzer f&uuml;r die Datenbank <b>Suedsturm_SQL <\/b>f&uuml;r die Anmeldung der Benutzergruppe <b>Management<\/b>. Das Skript f&uuml;hren Sie im SQL Server Management Studio in einem neuen Abfragefenster f&uuml;r die Datenbank <b>Suedsturm_SQL <\/b>aus:<\/p>\n<pre>USE [master]\r\nGO\r\nCREATE LOGIN [&lt;Server&gt;\\Management] FROM WINDOWS WITH DEFAULT_DATABASE=[Suedsturm_SQL]\r\nGO\r\nUSE [Suedsturm_SQL]\r\nGO\r\nCREATE USER [&lt;Server&gt;\\Management] FOR LOGIN [&lt;Server&gt;\\Management]\r\nGO\r\nALTER ROLE [db_datareader] ADD MEMBER [&lt;Server&gt;\\Management]\r\nGO\r\nALTER ROLE [db_datawriter] ADD MEMBER [&lt;Server&gt;\\Management]\r\nGO<\/pre>\n<p>Das gleiche Skript k&ouml;nnen Sie noch einmal in leicht ge&auml;nderter Form ausf&uuml;hren. Diesmal verwenden wir die Anmeldung <b><Server>\\Bestellannahme<\/b>. <\/p>\n<h2>Berechtigungen einstellen<\/h2>\n<p>Danach legen wir einige Berechtigungen f&uuml;r die beiden Benutzergruppen fest. Die Benutzergruppe <b>Management <\/b>soll alle Daten lesen k&ouml;nnen, aber nicht &auml;ndern. Nicht, dass die Manager was kaputtmachen &#8230; Die Benutzergruppe <b>Bestellverwaltung <\/b>soll einige Tabellen nur lesen k&ouml;nnen &#8211; zum Beispiel <b>tblAnreden<\/b>, <b>tblArtikel<\/b> oder <b>tblKategorien<\/b> zum Beispiel. Andere Tabellen m&uuml;ssen die Mitglieder dieser Benutzergruppe nat&uuml;rlich auch bearbeiten k&ouml;nnen &#8211; zum Beispiel <b>tblBestellungen <\/b>oder <b>tblBestelldetails<\/b>. Wenn Sie keine Lust haben, in den Dialogen zu arbeiten, k&ouml;nnen Sie auch hier einige Anweisungen absetzen, was vielleicht &uuml;bersichtlicher ist &#8211; zumal Sie in den Dialogen immer nur die Berechtigungen f&uuml;r eine Tabelle gleichzeitig festlegen k&ouml;nnen. Um beispielsweise Leserechte f&uuml;r die Tabelle <b>tblArtikel <\/b>f&uuml;r die Benutzergruppe Bestellannahme festzulegen, reicht in einem neuen Abfragefenster der Datenbank <b>Suedsturm_SQL <\/b>die folgende Anweisung:<\/p>\n<pre>GRANT SELECT ON [dbo].[tblArtikel] TO [&lt;Server&gt;\\Bestellannahme]\r\nGO<\/pre>\n<p><!--30percent--><\/p>\n<p>Um das Lesen, Anlegen, &auml;ndern oder L&ouml;schen von Datens&auml;tzen in der Tabelle <b>tblBestellungen <\/b>festzulegen, verwenden Sie diese Anweisungen:<\/p>\n<pre>GRANT UPDATE ON [dbo].[tblBestellungen] TO [&lt;Server&gt;\\Bestellannahme]\r\nGO\r\nGRANT SELECT ON [dbo].[tblBestellungen] TO [&lt;Server&gt;\\Bestellannahme]\r\nGO\r\nGRANT INSERT ON [dbo].[tblBestellungen] TO [&lt;Server&gt;\\Bestellannahme]\r\nGO\r\nGRANT DELETE ON [dbo].[tblBestellungen] TO [&lt;Server&gt;\\Bestellannahme]\r\nGO<\/pre>\n<h2>Tabellen f&uuml;r die Berechtigungen der Benutzergruppen an den Objekten definieren<\/h2>\n<p>Als N&auml;chstes ben&ouml;tigen wir die drei bereits weiter oben beschriebenen Tabellen, in denen wir die Elemente der Benutzeroberfl&auml;che, die Berechtigungsstufen und die Verkn&uuml;pfungen zwischen diesen Elementen speichern.<\/p>\n<p>Die Tabelle <b>tblBerechtigungsstufen <\/b>soll die Felder <b>BerechtigungsstufeID <\/b>und <b>Bezeichnung <\/b>enthalten. Die Tabelle legen wir im SQL Server Management Studio wie in Bild 1 an. Um diesen Dialog zu &ouml;ffnen, w&auml;hlen Sie im Kontextmen&uuml; <b>Tabelle&#8230; <\/b>des Eintrags <b>Suedsturm_SQL|Tabellen <\/b>aus. Nachdem Sie die beiden Felder wie in der Abbildung hinzugef&uuml;gt haben, legen Sie in den Eigenschaften noch die Identit&auml;tsspezifikation f&uuml;r das Feld <b>BerechtigungsstufeID <\/b>fest. Auf diese Weise versehen Sie das Feld mit einem Autowert.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_001.png\" alt=\"Anlegen der Tabelle tblBerechtigungsstufen\" width=\"499,6607\" height=\"285,8674\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Anlegen der Tabelle tblBerechtigungsstufen<\/span><\/b><\/p>\n<p>Au&szlig;erdem m&uuml;ssen Sie das Feld <b>BerechtigungsstufeID<\/b> noch als Prim&auml;rschl&uuml;sselfeld markieren. Das erledigen Sie &uuml;ber den Kontextmen&uuml;-Eintrag <b>Prim&auml;rschl&uuml;ssel festlegen <\/b>(siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_008.png\" alt=\"Festlegen des Prim&auml;rschl&uuml;sselfeldes per Kontextmen&uuml;\" width=\"424,7115\" height=\"289,3908\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Festlegen des Prim&auml;rschl&uuml;sselfeldes per Kontextmen&uuml;<\/span><\/b><\/p>\n<p>Anschlie&szlig;end f&uuml;gen wir noch die drei vorgesehenen Werte zur Tabelle hinzu. Dazu &ouml;ffnen wir diese nach dem Speichern mit dem Kontextmen&uuml;-Eintrag <b>Oberste 200 Zeilen bearbeiten<\/b>. Dies &ouml;ffnet eine Art Datenblattansicht der Tabelle, wo Sie die drei Datens&auml;tze wie in Bild 3 eingeben.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_002.png\" alt=\"Hinzuf&uuml;gen von Datens&auml;tzen zur Tabelle tblBerechtigungsstufen\" width=\"424,7115\" height=\"157,5543\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Hinzuf&uuml;gen von Datens&auml;tzen zur Tabelle tblBerechtigungsstufen<\/span><\/b><\/p>\n<h2>Objekte und Elemente speichern<\/h2>\n<p>Die zweite Tabelle hei&szlig;t <b>tblObjekte <\/b>und soll alle Formulare, Berichte, Formularsteuerelemente und Ribbon-Steuerelemente aufnehmen, f&uuml;r welche Berechtigungen festgelegt werden sollen. Hier ben&ouml;tigen wir au&szlig;erdem ein Feld, welches den Objekttyp speichert &#8211; also ob es sich um ein Formular, einen Bericht, ein Steuer-element in einem Formular oder eines in einem Ribbon handelt. Zu diesem Zweck legen wir noch eine weitere Tabelle an, welche die unterschiedlichen Objekttypen aufnimmt. Diese Tabelle hei&szlig;t <b>tblObjekttypen <\/b>und soll die beiden Felder <b>Objekttyp-ID <\/b>und <b>Bezeichnung <\/b>aufnehmen.<\/p>\n<p>Auch f&uuml;r das Prim&auml;rschl&uuml;sselfeld dieser Tabelle legen wir eine Identit&auml;tsspezifikation fest, damit sich das Feld wie ein Autowert-Feld unter Access verh&auml;lt. Und nat&uuml;rlich soll auch hier das Feld <b>ObjekttypID<\/b> als Prim&auml;rschl&uuml;sselfeld markiert werden. Der Entwurf der Tabelle sieht wie in Bild 4 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_003.png\" alt=\"Anlegen der Tabelle tblObjekttypen\" width=\"424,7115\" height=\"156,144\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Anlegen der Tabelle tblObjekttypen<\/span><\/b><\/p>\n<p>Anschlie&szlig;end f&uuml;llen wir die Tabelle wie in Bild 5.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_004.png\" alt=\"F&uuml;llen der Tabelle tblObjekttypen\" width=\"424,7115\" height=\"186,9082\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: F&uuml;llen der Tabelle tblObjekttypen<\/span><\/b><\/p>\n<h2>Hinweis: Speichern von &auml;nderungen<\/h2>\n<p>Wenn Sie eine Tabelle einmal gespeichert haben und dann noch &auml;nderungen wie etwa das &auml;ndern von Datentypen, Indizes et cetera vornehmen, kann es sein, dass dies nicht m&ouml;glich ist &#8211; SQL Server Management Studio zeigt dann eine Meldung, dass die &auml;nderung nur durch L&ouml;schen und Neuanlegen der Tabelle m&ouml;glich ist und das aktuell nicht funktioniert. Wie Sie dieses Problem l&ouml;sen, erfahren Sie im Beitrag <b>SQL Server: Tabellendefinition &auml;ndern <\/b>(<b>www.access-im-unternehmen.de\/1163<\/b>).<\/p>\n<h2>Tabelle zum Speichern der Objekte<\/h2>\n<p>Die n&auml;chste Tabelle soll <b>tblObjekte <\/b>hei&szlig;en. Sie enth&auml;lt neben dem Prim&auml;rschl&uuml;sselfeld, dem Feld <b>Bezeichnung <\/b>und dem Feld <b>Uebergeordnet <\/b>ein Fremdschl&uuml;sselfeld, mit dem die Eintr&auml;ge der Tabelle <b>tblObjekttypen <\/b>referenziert werden k&ouml;nnen. Das Feld <b>Uebergeordnet <\/b>nimmt im Falle eines Formulars den Formularnamen auf.<\/p>\n<p>Um das Fremdschl&uuml;sselfeld anzulegen, f&uuml;gen wir zun&auml;chst ein Feld namens <b>ObjekttypID <\/b>mit dem Datentyp <b>int <\/b>hinzu. Um das Fremdschl&uuml;sselfeld einzurichten, klicken Sie mit der rechten Maustaste auf das Feld <b>ObjekttypID <\/b>und w&auml;hlen aus dem Kontextmen&uuml; den Eintrag <b>Bezeichnungen&#8230; <\/b>aus (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_005.png\" alt=\"Entwurf der Tabelle tblObjekte\" width=\"424,7115\" height=\"366,757\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Entwurf der Tabelle tblObjekte<\/span><\/b><\/p>\n<p>Es erscheint der Dialog <b>Fremdschl&uuml;sselbeziehungen<\/b>. Hier klicken Sie auf <b>Hinzuf&uuml;gen<\/b>. Der folgende Dialog (siehe Bild 7) bietet &uuml;ber die Schaltfl&auml;che mit den drei Punkten rechts neben der Eigenschaft <b>Tabellen- und Spaltenspezifikation <\/b>die M&ouml;glichkeit, einen weiteren Dialog zu &ouml;ffnen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_006.png\" alt=\"Hinzuf&uuml;gen eines Fremdschl&uuml;ssels\" width=\"549,6265\" height=\"350,3764\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Hinzuf&uuml;gen eines Fremdschl&uuml;ssels<\/span><\/b><\/p>\n<p>Dieser Dialog namens <b>Tabellen und Spalten <\/b>erlaubt schlie&szlig;lich, die gew&uuml;nschte Zuordnung f&uuml;r die Fremdschl&uuml;sselbeziehung durchzuf&uuml;hren (siehe Bild 8). Hier w&auml;hlen Sie also aus dem Kombinationsfeld links den Eintrag <b>tblObjekttypen <\/b>aus, also die Tabelle, die das an der Beziehung beteiligte Prim&auml;rschl&uuml;sselfeld liefert. Als Feld w&auml;hlen wir das Prim&auml;rschl&uuml;sselfeld dieser Tabelle aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_007.png\" alt=\"Auswahl des an der Beziehung beteiligten Feldes der Fremdschl&uuml;sseltabelle\" width=\"424,7115\" height=\"321,727\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Auswahl des an der Beziehung beteiligten Feldes der Fremdschl&uuml;sseltabelle<\/span><\/b><\/p>\n<p>Auf der rechten Seite stellen wir das Fremdschl&uuml;sselfeld ein. Als Tabelle ist <b>tblObjekte <\/b>bereits festgelegt. Als Feld verwenden wir das hier vorbereitete Feld <b>ObjekttypID<\/b>. Nach einem Klick auf <b>OK<\/b> schlie&szlig;t sich der Dialog.<\/p>\n<p>Im Dialog <b>Fremdschl&uuml;sselbeziehungen <\/b>k&ouml;nnen wir nun durch Erweitern der Eigenschaft <b>Tabellen- und Spaltenspezifik <\/b>die soeben festgelegten Tabellen und Felder einsehen (siehe Bild 9).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_009.png\" alt=\"Die zuvor eingestellten Beziehungseigenschaften\" width=\"424,7115\" height=\"270,7455\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Die zuvor eingestellten Beziehungseigenschaften<\/span><\/b><\/p>\n<p>Eine letzte Information fehlt noch &#8211; n&auml;mlich ein eindeutiger, zusammenh&auml;ngender Schl&uuml;ssel f&uuml;r die beiden Felder <b>Bezeichnung <\/b>und <b>Uebergeordnet<\/b>. Formulare, Berichte und Formular- sowie Ribbonsteuerelemente sollen ja jeweils nur einmal in der Tabelle vorkommen. Das erledigen wir wiederum &uuml;ber einen Kontextmen&uuml;-Eintrag &#8211; und zwar f&uuml;r den eines der am Index beteiligten Felder.<\/p>\n<p>Dies &ouml;ffnet den Dialog <b>Indizes\/Schl&uuml;ssel<\/b>. Hier ist bereits der Prim&auml;rschl&uuml;ssel als erster Eintrag im Feld links aufgef&uuml;hrt. Um den gew&uuml;nschten Index hinzuzuf&uuml;gen, klicken Sie zun&auml;chst auf die Schaltfl&auml;che <b>Hinzuf&uuml;gen<\/b>.<\/p>\n<p>Dann klicken Sie auf die Schaltfl&auml;che mit den drei Punkten neben der Eigenschaft <b>Spalten <\/b>(siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_010.png\" alt=\"Festlegen eines eindeutigen, zusammengesetzten Indexes\" width=\"499,6607\" height=\"209,3173\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Festlegen eines eindeutigen, zusammengesetzten Indexes<\/span><\/b><\/p>\n<p>Dies &ouml;ffnet erneut den Dialog <b>Indexspalten<\/b>. Hier w&auml;hlen Sie die beiden Felder <b>Bezeichnung <\/b>und <b>Uebergeordnet <\/b>aus und stellen die Sortierung auf <b>Aufsteigend <\/b>ein (siehe Bild 11).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_011.png\" alt=\"Ausw&auml;hlen der Felder f&uuml;r den Index\" width=\"424,7115\" height=\"199,5825\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Ausw&auml;hlen der Felder f&uuml;r den Index<\/span><\/b><\/p>\n<p>Damit kommen wir zur&uuml;ck zum Dialog <b>Indizes\/Schl&uuml;ssel<\/b>. Hier brauchen wir nun nur noch die Eigenschaft <b>Typ<\/b> auf <b>Eindeutiger Schl&uuml;ssel <\/b>einzustellen (siehe Bild 12).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_012.png\" alt=\"Festlegen eines eindeutigen Schl&uuml;ssels\" width=\"499,6607\" height=\"236,326\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Festlegen eines eindeutigen Schl&uuml;ssels<\/span><\/b><\/p>\n<h2>Tabelle der Benutzergruppen<\/h2>\n<p>Die n&auml;chste Tabelle soll die Benutzergruppen speichern. Die Tabelle besitzt wiederum ein Prim&auml;rschl&uuml;sselfeld namens <b>BenutzergruppeID<\/b> sowie ein Feld namens <b>Bezeichnung<\/b>, das wir mit einem eindeutigen Schl&uuml;ssel versehen (siehe Bild 13).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_013.png\" alt=\"Die Tabelle tblBenutzergruppen\" width=\"424,7115\" height=\"162,6187\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: Die Tabelle tblBenutzergruppen<\/span><\/b><\/p>\n<p>Diese Tabelle f&uuml;llen wir einfach mit den beiden Windows-Benutzergruppen, die wir weiter oben angelegt haben, also mit <b>Bestellannahme <\/b>und <b>Management<\/b> (siehe Bild 14).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_014.png\" alt=\"Die Tabelle tblBenutzergruppen mit Daten\" width=\"424,7115\" height=\"158,1373\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 14: Die Tabelle tblBenutzergruppen mit Daten<\/span><\/b><\/p>\n<h2>Tabelle zur Zuweisung von Berechtigungen<\/h2>\n<p>Fehlt nur noch die letzte Tabelle, mit der wir die Berechtigungen, die Objekte und die Benutzer zusammenf&uuml;hren. Diese hei&szlig;t <b>tblObjekteBenutzergruppenBerechtigungsstufen <\/b>und enth&auml;lt neben dem Prim&auml;rschl&uuml;sselfeld namens <b>ObjektBenutzergruppeBerechtigungsstufeID <\/b>die Fremdschl&uuml;sselfelder <b>ObjektID<\/b>, <b>BenutzergruppeID <\/b>und <b>Berechtigungsstufe-ID<\/b>.<\/p>\n<p>F&uuml;r das Prim&auml;rschl&uuml;sselfeld aktivieren wir wieder die Identit&auml;tsspezifikation. F&uuml;r die drei &uuml;brigen Felder f&uuml;gen wir jeweils die Beziehungen zu den Tabellen <b>tblObjekte<\/b>, <b>tblBenutzergruppen <\/b>und <b>tblBerechtigungsstufen <\/b>hinzu. Au&szlig;erdem legen wir einen eindeutigen, zusammengesetzten Index f&uuml;r die drei Felder <b>ObjektID<\/b>, <b>BenutzergruppeID <\/b>und <b>BerechtigungsstufeID <\/b>an. Der Entwurf sieht danach wie in Bild 15 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/11-09-_2018_11-00-20.png\" alt=\"Entwurf der Tabelle tblObjekteBenutzergruppenBerechtigungsstufen\" width=\"424,7115\" height=\"196,5083\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 15: Entwurf der Tabelle tblObjekteBenutzergruppenBerechtigungsstufen<\/span><\/b><\/p>\n<h2>Datenbankdiagramm<\/h2>\n<p>Zum Abschluss der Erstellung des Datenmodells schauen wir uns die Tabellen und ihre Beziehungen noch im Datenbankdiagramm an. Dieses erstellen wir &uuml;ber den Kontextmen&uuml;-Eintrag <b>Neues Datenbankdiagramm <\/b>des Elements <b>Suedsturm_SQL|Datenbankdiagramme<\/b>. Im Dialog <b>Tabelle hinzuf&uuml;gen <\/b>w&auml;hlen Sie die anzuzeigenden Tabellen aus. Nach dem Arrangieren der Tabellen im Datenbankdiagramm sieht das Ergebnis wie in Bild 16 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_06\/pic_1159_016.png\" alt=\"Datenbankdiagramm mit allen Tabellen und Beziehungen f&uuml;r die Verwaltung der Objektberechtigungen\" width=\"700\" height=\"272,4957\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 16: Datenbankdiagramm mit allen Tabellen und Beziehungen f&uuml;r die Verwaltung der Objektberechtigungen<\/span><\/b><\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>In diesem Beitrag haben wir das Datenmodell f&uuml;r die L&ouml;sung zum Verwalten der Berechtigungen f&uuml;r die Datenbankobjekte auf Basis der jeweiligen Benutzergruppe erstellt. Im zweiten Teil mit dem Titel <b>Berechtigungen f&uuml;r Access-Objekte per SQL Server 2: Formulare <\/b>(<b>www.access-im-unternehmen.de\/1170<\/b>) werden wir in der n&auml;chsten Ausgabe die Formulare f&uuml;r diese Anwendung programmieren.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Suedsturm_SQL.sql<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/FCE500CD-B586-437F-925A-525EC59651E7\/aiu_1159.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Beitrag &#8222;SQL Server: Sicherheit und Benutzerverwaltung&#8220; haben wir gezeigt, wie Sie  die Sicherheitsfunktionen f&uuml;r den Zugriff auf SQL Server und SQL Server-Datenbanken f&uuml;r Benutzergruppen und Benutzer einrichten. Damit ist der Zugriff auf die Elemente des SQL Servers geregelt. Was aber ist mit den Objekten im Access-Frontend &#8211; also beispielsweise mit Formularen, Schaltfl&auml;chen, Ribbon-Eintr&auml;gen und so weiter Wenn wir schon Benutzer und Benutzergruppen im SQL Server einrichten, m&ouml;chten wir diese ja auch nutzen, um die Elemente der Benutzeroberfl&auml;che je nach der Anmeldung f&uuml;r Benutzergruppe oder Benutzer freizugeben oder auch nicht. Ein Beispiel daf&uuml;r, wie Sie dies realisieren k&ouml;nnen, liefert der vorliegende Beitrag. In diesem ersten Teil erstellen wir das Datenmodell f&uuml;r die Berechtigungsverwaltung.<\/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":[662018,66062018,44000022],"tags":[],"class_list":["post-55001159","post","type-post","status-publish","format-standard","hentry","category-662018","category-66062018","category-SQL_Server_und_Co"],"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>Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell - 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\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell\" \/>\n<meta property=\"og:description\" content=\"Im Beitrag &quot;SQL Server: Sicherheit und Benutzerverwaltung&quot; haben wir gezeigt, wie Sie die Sicherheitsfunktionen f&uuml;r den Zugriff auf SQL Server und SQL Server-Datenbanken f&uuml;r Benutzergruppen und Benutzer einrichten. Damit ist der Zugriff auf die Elemente des SQL Servers geregelt. Was aber ist mit den Objekten im Access-Frontend - also beispielsweise mit Formularen, Schaltfl&auml;chen, Ribbon-Eintr&auml;gen und so weiter Wenn wir schon Benutzer und Benutzergruppen im SQL Server einrichten, m&ouml;chten wir diese ja auch nutzen, um die Elemente der Benutzeroberfl&auml;che je nach der Anmeldung f&uuml;r Benutzergruppe oder Benutzer freizugeben oder auch nicht. Ein Beispiel daf&uuml;r, wie Sie dies realisieren k&ouml;nnen, liefert der vorliegende Beitrag. In diesem ersten Teil erstellen wir das Datenmodell f&uuml;r die Berechtigungsverwaltung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-13T21:12:43+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377\" \/>\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=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell\",\"datePublished\":\"2020-05-13T21:12:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/\"},\"wordCount\":2450,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/523c4dadd7464f36acc1fbf8b94cd377\",\"articleSection\":[\"2018\",\"6\\\/2018\",\"SQL Server und Co.\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/\",\"name\":\"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/523c4dadd7464f36acc1fbf8b94cd377\",\"datePublished\":\"2020-05-13T21:12:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/523c4dadd7464f36acc1fbf8b94cd377\",\"contentUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/523c4dadd7464f36acc1fbf8b94cd377\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell\"}]},{\"@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":"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell - 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\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/","og_locale":"de_DE","og_type":"article","og_title":"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell","og_description":"Im Beitrag \"SQL Server: Sicherheit und Benutzerverwaltung\" haben wir gezeigt, wie Sie die Sicherheitsfunktionen f&uuml;r den Zugriff auf SQL Server und SQL Server-Datenbanken f&uuml;r Benutzergruppen und Benutzer einrichten. Damit ist der Zugriff auf die Elemente des SQL Servers geregelt. Was aber ist mit den Objekten im Access-Frontend - also beispielsweise mit Formularen, Schaltfl&auml;chen, Ribbon-Eintr&auml;gen und so weiter Wenn wir schon Benutzer und Benutzergruppen im SQL Server einrichten, m&ouml;chten wir diese ja auch nutzen, um die Elemente der Benutzeroberfl&auml;che je nach der Anmeldung f&uuml;r Benutzergruppe oder Benutzer freizugeben oder auch nicht. Ein Beispiel daf&uuml;r, wie Sie dies realisieren k&ouml;nnen, liefert der vorliegende Beitrag. In diesem ersten Teil erstellen wir das Datenmodell f&uuml;r die Berechtigungsverwaltung.","og_url":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-13T21:12:43+00:00","og_image":[{"url":"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell","datePublished":"2020-05-13T21:12:43+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/"},"wordCount":2450,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377","articleSection":["2018","6\/2018","SQL Server und Co."],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/","url":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/","name":"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377","datePublished":"2020-05-13T21:12:43+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#primaryimage","url":"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377","contentUrl":"http:\/\/vg06.met.vgwort.de\/na\/523c4dadd7464f36acc1fbf8b94cd377"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I_Datenmodell\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Berechtigungen f&uuml;r Access-Objekte per SQL Server I: Datenmodell"}]},{"@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\/55001159","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=55001159"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001159\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}