{"id":88062018,"date":"2019-11-08T11:47:22","date_gmt":"2019-11-08T11:47:22","guid":{"rendered":"http:\/\/access-basics.de\/index.php\/88062018.html"},"modified":"2019-11-08T11:47:22","modified_gmt":"2019-11-08T11:47:22","slug":"88062018","status":"publish","type":"page","link":"https:\/\/access-im-unternehmen.de\/88062018\/","title":{"rendered":"Access im Unternehmen 06\/2018"},"content":{"rendered":"<h3>Berechtigungen f\u00fcr Access-Objekte per SQL Server I: Datenmodell<\/h3>\n<p>Im Beitrag \u00bbSQL Server: Sicherheit und Benutzerverwaltung\u00ab haben wir gezeigt, wie Sie  die Sicherheitsfunktionen f\u00fcr den Zugriff auf SQL Server und SQL Server-Datenbanken f\u00fcr Benutzergruppen und Benutzer einrichten. Damit ist der Zugriff auf die Elemente des SQL Servers geregelt. Was aber ist mit den Objekten im Access-Frontend \u2013 also beispielsweise mit Formularen, Schaltfl\u00e4chen, Ribbon-Eintr\u00e4gen und so weiter? Wenn wir schon Benutzer und Benutzergruppen im SQL Server einrichten, m\u00f6chten wir diese ja auch nutzen, um die Elemente der Benutzeroberfl\u00e4che je nach der Anmeldung f\u00fcr Benutzergruppe oder Benutzer freizugeben oder auch nicht. Ein Beispiel daf\u00fcr, wie Sie dies realisieren k\u00f6nnen, liefert der vorliegende Beitrag. In diesem ersten Teil erstellen wir das Datenmodell f\u00fcr die Berechtigungsverwaltung.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Berechtigungen_fuer_AccessObjekte_per_SQL_Server_I:_Datenmodell\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Neue Datens\u00e4tze oben anf\u00fcgen<\/h3>\n<p>Es scheint in Stein gemei\u00dfelt: Neue Datens\u00e4tze werden unter Access immer unten, am Ende der Datensatzliste, angeh\u00e4ngt. Das gilt sowohl f\u00fcr die Datenblattansicht als auch f\u00fcr die Endlosansicht. F\u00fcr uns kein Anlass, es nicht doch einmal auszuprobieren. Mit ein paar Tricks schaffen wir es schlie\u00dflich, eine passable Datenblattansicht zu programmieren, die scheinbar das Anf\u00fcgen eines neuen Datensatzes in der obersten Zeile der Datenblattansicht erlaubt.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Neue_Datensaetze_oben_anfuegen\">Zum Artikel &#8230;<\/a><\/p>\n<h3>HTML-Kreuztabelle 1: Basics<\/h3>\n<p>Kreuztabellenabfragen sind eine praktische Sache, wenn es darum geht, Kombinationen aus m:n-Beziehungen abzubilden \u2013 zum Beispiel die Preise f\u00fcr verschiedene Bauelemente oder Materialien in Abh\u00e4ngigkeit von der H\u00f6he und der Breite des Materials. Dabei ben\u00f6tigen Sie noch nicht einmal eine m:n-Beziehung, die in einer Kreuztabelle darzustellenden Daten k\u00f6nnen auch aus einer einzigen Tabelle stammen. Der Haken an Kreuztabellen ist, dass diese in der Regel nicht bearbeitet werden k\u00f6nnen. Wenn Sie also etwa den Preis f\u00fcr ein Bauelement mit einer H\u00f6he von einem Meter und einer Breite von f\u00fcnfzig Zentimetern einstellen wollen, m\u00fcssen Sie wieder die zugrunde liegende Tabelle oder das darauf aufbauende Formular bem\u00fchen. Im vorliegenden Beitrag wollen wir zun\u00e4chst einmal die Grundlage f\u00fcr die Bearbeitung schaffen \u2013 indem wir die Daten der Tabelle per HTML in Kreuztabellenform darstellen.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/HTMLKreuztabelle_1:_Basics\">Zum Artikel &#8230;<\/a><\/p>\n<h3>HTML-Kreuztabelle 2: Werte bearbeiten<\/h3>\n<p>Im Beitrag \u00bbKreuztabelle per HTML\u00ab haben wir gezeigt, wie Sie die Daten einer Tabelle in Form einer Kreuztabelle ausgeben k\u00f6nnen. Das ist nat\u00fcrlich auch per Kreuztabellenabfrage m\u00f6glich, aber wir haben in diesem Fall das Webbrowser-Steuerelement mit einer entsprechenden HTML-Seite verwendet. Der Hintergrund ist, dass wir so Funktionen zum direkten Bearbeiten der Eintr\u00e4ge hinzuf\u00fcgen k\u00f6nnen \u2013 vorausgesetzt, dass die Kreuztabelle nur die Werte einer Kombination anzeigt und nicht etwa Dom\u00e4nenfunktionen wie Summen oder Mittelwerte. Wir wollen also die bereits vorhandene Darstellung noch um Funktionen zum Bearbeiten sowie zum Hinzuf\u00fcgen neuer Spalten oder Zeilen erweitern.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/HTMLKreuztabelle_2:_Werte_bearbeiten\">Zum Artikel &#8230;<\/a><\/p>\n<h3>SQL Server: Tabellendefinition \u00e4ndern<\/h3>\n<p>Unter Access sind Sie es gewohnt, nach Lust und Laune am Entwurf einer Tabelle zu arbeiten. Probleme gibt es nur, wenn Sie einmal die Feldgr\u00f6\u00dfe oder den Felddatentyp \u00e4ndern wollen \u2013 etwa, weil die Daten dann nicht mehr in das Feld passen k\u00f6nnten. Das k\u00f6nnen Sie jedoch durch einen Mausklick best\u00e4tigen und weitermachen. Beim SQL Server sieht das etwas anders aus. Relevante \u00c4nderungen, die sich auf bestehende Felder beziehen, sieht das SQL Server Management Studio nicht so gern und blockiert dies \u2013 Sie m\u00fcssen dann die Tabelle neu anlegen. Wer einen kleinen Trick nicht kennt, macht sich auf diese Weise viel unn\u00f6tige Arbeit.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/SQL_Server:_Tabellendefinition_aendern\">Zum Artikel &#8230;<\/a><\/p>\n<h3>ODBC-Verkn\u00fcpfungen in Formularen<\/h3>\n<p>Es gibt verschiedene M\u00f6glichkeiten, auf die Daten einer SQL Server-Datenbank zuzugreifen. Die einfachste Variante, gerade wenn es um die Migration einer reinen Access-Datenbank in eine Kombination aus Access-Frontend und SQL Server-Backend geht, ist der Einsatz von per ODBC verkn\u00fcpften Tabellen. Dabei werden die Tabellen einfach nur zum SQL Server migriert und man greift dann \u00fcber ODBC-Verkn\u00fcpfungen auf die Tabellen zu. F\u00fcr den Zugriff auf diese Daten von Formularen aus ergeben sich so gut wie keine \u00c4nderungen \u2013 und was sich doch \u00e4ndern kann, erfahren Sie in diesem Beitrag.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/ODBCVerknuepfungen_in_Formularen\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Access und SQL Server im Web<\/h3>\n<p>Wenn Sie die Daten Ihrer Access-Datenbank \u00fcber das Internet f\u00fcr verschiedene Access-Frontends verf\u00fcgbar machen wollen, m\u00fcssen Sie zwei Schritte erledigen: Der erste ist die Migration der Tabellen in eine SQL Server-Datenbank, der zweite die Bereitstellung dieser Datenbank \u00fcber das Internet. Letzteres gelingt mit den Azure-Diensten von Microsoft. Wie das funktioniert, zeigt der vorliegende Beitrag im Detail.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Access_und_SQL_Server_im_Web\">Zum Artikel &#8230;<\/a><\/p>\n<h3>PDF-Dokumente im Griff mit PDFtk<\/h3>\n<p>PDFtk ist ein kostenloses bis g\u00fcnstiges Tool, mit dem Sie verschiedene Manipulationen an PDF-Dateien vornehmen k\u00f6nnen. Damit ist es eine tolle Erg\u00e4nzung zu Anwendungen, die ihre Dateien wie etwa Rechnungen oder anderen Dokumente per Bericht formatieren und dann als PDF speichern. Vor der Weiterverarbeitung etwa durch das Versenden per E-Mail k\u00f6nnen Sie die PDFs dann mit PDFtk optimieren, zum Beispiel in dem Sie diese mit einem Kennwort sch\u00fctzen. Dieser Beitrag zeigt, wie Sie PDFtk, das neben der grafischen Benutzeroberfl\u00e4che auch einen Aufruf per Kommandozeile erlaubt, zum automatisierten Bearbeiten Ihrer PDFs per VBA nutzen.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/PDFDokumente_im_Griff_mit_PDFtk\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VB.NET-DLL f\u00fcr Access programmieren<\/h3>\n<p>Visual Studio bietet viel mehr Bibliotheken und M\u00f6glichkeiten als Access. Daf\u00fcr ist es auch viel komplizierter. Zum Gl\u00fcck k\u00f6nnen wir beide Welten kombinieren, zum Beispiel durch Erstellen einer DLL mit Visual Studio, die Funktionen bereitstellt, die nur unter .NET zur Verf\u00fcgung stehen, die Sie dann von Access aus per VBA referenzieren und nutzen k\u00f6nnen. Dieser Beitrag zeigt anhand eines Beispiels, wie das gelingt.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/VB.NETDLL_fuer_Access_programmieren\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Kommandozeile per DLL<\/h3>\n<p>Wenn Sie von Access aus Befehle ausf\u00fchren wollen, die Sie normalerweise \u00fcber die Kommandozeile beziehungsweise die Eingabeaufforderung eingeben w\u00fcrden, ist das kein Problem \u2013 das erledigen Sie ganz einfach \u00fcber die Shell-Anweisung. Interessanter wird es, wenn Sie die Ausgabe der Anwendung einlesen und verarbeiten wollen, um beispielsweise auszuwerten, ob der Aufruf erfolgreich war oder welches Ergebnis dieser geliefert hat. Mit VBA beziehungsweise API-Funktionen gelingt dies nicht immer zuverl\u00e4ssig. Also schauen wir uns in der .NET-Bibliothek um, ob es dort Alternativen gibt, und machen uns diese \u00fcber eine DLL unter VBA verf\u00fcgbar.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Kommandozeile_per_DLL\">Zum Artikel &#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Berechtigungen f\u00fcr Access-Objekte per SQL Server I: Datenmodell Im Beitrag \u00bbSQL Server: Sicherheit und Benutzerverwaltung\u00ab haben wir gezeigt, wie Sie die Sicherheitsfunktionen f\u00fcr den Zugriff auf SQL Server und SQL Server-Datenbanken f\u00fcr Benutzergruppen und Benutzer<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","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":""},"class_list":["post-88062018","page","type-page","status-publish","hentry"],"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 im Unternehmen 06\/2018 - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Access im Unternehmen 06\/2018\" \/>\n<meta property=\"og:description\" content=\"Berechtigungen f\u00fcr Access-Objekte per SQL Server I: Datenmodell Im Beitrag \u00bbSQL Server: Sicherheit und Benutzerverwaltung\u00ab haben wir gezeigt, wie Sie die Sicherheitsfunktionen f\u00fcr den Zugriff auf SQL Server und SQL Server-Datenbanken f\u00fcr Benutzergruppen und Benutzer\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/88062018\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88062018\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88062018\\\/\",\"name\":\"Access im Unternehmen 06\\\/2018 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2019-11-08T11:47:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88062018\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/88062018\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88062018\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Access im Unternehmen 06\\\/2018\"}]},{\"@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\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Access im Unternehmen 06\/2018 - Access im Unternehmen","robots":{"index":"noindex","follow":"follow"},"og_locale":"de_DE","og_type":"article","og_title":"Access im Unternehmen 06\/2018","og_description":"Berechtigungen f\u00fcr Access-Objekte per SQL Server I: Datenmodell Im Beitrag \u00bbSQL Server: Sicherheit und Benutzerverwaltung\u00ab haben wir gezeigt, wie Sie die Sicherheitsfunktionen f\u00fcr den Zugriff auf SQL Server und SQL Server-Datenbanken f\u00fcr Benutzergruppen und Benutzer","og_url":"https:\/\/access-im-unternehmen.de\/88062018\/","og_site_name":"Access im Unternehmen","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/88062018\/","url":"https:\/\/access-im-unternehmen.de\/88062018\/","name":"Access im Unternehmen 06\/2018 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2019-11-08T11:47:22+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/88062018\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/88062018\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/88062018\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Access im Unternehmen 06\/2018"}]},{"@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\/"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/pages\/88062018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/page"}],"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=88062018"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/pages\/88062018\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=88062018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}