{"id":88032019,"date":"2019-11-08T11:47:22","date_gmt":"2019-11-08T11:47:22","guid":{"rendered":"http:\/\/access-basics.de\/index.php\/88032019.html"},"modified":"2019-11-08T11:47:22","modified_gmt":"2019-11-08T11:47:22","slug":"88032019","status":"publish","type":"page","link":"https:\/\/access-im-unternehmen.de\/88032019\/","title":{"rendered":"Access im Unternehmen 03\/2019"},"content":{"rendered":"<h3>HTML-Tabellen mit fester Kopfzeile<\/h3>\n<p>In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beitr\u00e4gen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln von Access nicht ad\u00e4quat darstellen k\u00f6nnen, mit HTML im Webbrowser-Steuerelement dar. Damit erhalten wir wesentlich flexiblere M\u00f6glichkeiten, aber auch der Aufwand steigt. Eine Anforderung, die bisher nicht erf\u00fcllt wurde, ist das Fixieren der obersten Zeile in einer Ansicht, in der wir zur Anzeige aller Daten nach unten scrollen mussten. Wie wir den Daten einer Tabelle eine fixe Kopfzeile hinzuf\u00fcgen, zeigen wir in diesem Beitrag.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/HTMLTabellen_mit_fester_Kopfzeile\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Flexible HTML-Tabellen mit fester Kopfzeile<\/h3>\n<p>Im Beitrag \u00bbHTML-Tabellen mit fester Kopfzeile\u00ab haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenk\u00f6pfe oben fixiert bleiben, w\u00e4hrend der Benutzer den Inhalt der Tabelle, also die eigentlichen Datens\u00e4tze, nach unten scrollt. Wir wollen das Beispiel aus diesem Beitrag nun so erweitern, dass Sie die scrollbare HTML-Tabelle f\u00fcr beliebige Tabellen oder Abfragen als Datenquelle nutzen k\u00f6nnen. Diese sollen per Parameter beim \u00d6ffnen des Formulars festgelegt werden. Das Layout der Tabellen sowie die anzuzeigenden Daten sollen dann automatisch ermittelt werden \u2013 samt den enthaltenen Feldnamen oder -bezeichnungen als Spaltenk\u00f6pfen.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Flexible_HTMLTabellen_mit_fester_Kopfzeile\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Benutzerverwaltung mit verschl\u00fcsselten Kennw\u00f6rtern<\/h3>\n<p>Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten Kennw\u00f6rtern umgehen. Das geht am einfachsten, wenn Sie die Kennw\u00f6rter nur verschl\u00fcsselt speichern. Damit verringern Sie die Wahrscheinlichkeit, dass jemand die Kennw\u00f6rter entschl\u00fcsselt und f\u00fcr seine Zwecke nutzen kann, erheblich. Dieser Artikel stellt eine kleine Benutzerverwaltung vor, mit der Sie Benutzer und Benutzergruppen verwalten und auch Berechtigungen f\u00fcr verschiedene Tabellen vergeben k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Benutzerverwaltung_mit_verschluesselten_Kennwoertern\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Berechtigungen per HTML verwalten<\/h3>\n<p>Im Beitrag \u00bbBenutzerverwaltung mit verschl\u00fcsselten Kennw\u00f6rtern\u00ab stellen wir eine L\u00f6sung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort ben\u00f6tigen wir ein Formular, mit dem wir die Berechtigungen f\u00fcr die einzelnen Objekte f\u00fcr die jeweilige Benutzergruppe definieren wollen. Dazu wollen wir eine Matrix anzeigen, welche die Berechtigungen und die Objekte als Spalten- und Zeilen\u00fcberschriften anzeigt und die M\u00f6glichkeit bietet, in den Zellen anzugeben, ob die Berechtigung gesetzt ist oder nicht. Dies erledigen wir mit einem Webbrowser-Steuerelement, indem wir die notwendigen Elemente per HTML darstellen.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Berechtigungen_per_HTML_verwalten\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Benutzer und Berechtigungen ermitteln<\/h3>\n<p>In den Beitr\u00e4gen \u00bbBenutzerverwaltung mit verschl\u00fcsselten Kennw\u00f6rtern\u00ab und \u00bbBerechtigungen per HTML verwalten\u00ab haben wir die Voraussetzungen f\u00fcr eine Benutzerverwaltung geschaffen. Im vorliegenden Beitrag bauen wir darauf auf und legen ein Anmeldeformular an, mit dem der Benutzer sich an der Anwendung anmelden kann. Au\u00dferdem stellen wir die Funktion vor, mit der wir aus den Tabellen zur Verwaltung der Berechtigungen aufgrund des Benutzernamens die Berechtigung an einer bestimmten Tabelle ermitteln.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Benutzer_und_Berechtigungen_ermitteln\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Zugriffsrechte mit Datenmakros<\/h3>\n<p>Es gibt verschiedene M\u00f6glichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die f\u00fcr ihn vorgesehenen Aktionen mit Daten durchf\u00fchren darf \u2013 beispielsweise durch eine Pr\u00fcfung in den Ereignisprozeduren, die durch Ereignisse wie \u00bbVor Aktualisierung\u00ab ausgel\u00f6st werden. Noch praktischer w\u00e4re es allerdings, wenn diese Pr\u00fcfung nicht in jedem Formular programmiert werden m\u00fcsste, sondern anwendungsweit verf\u00fcgbar w\u00e4re \u2013 also auch dann, wenn der Benutzer es schafft, ohne Formulare auf die Tabellen mit den Daten zuzugreifen. Das gelingt mit Datenmakros. Wie genau, zeigt der vorliegende Beitrag.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Zugriffsrechte_mit_Datenmakros\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Kennw\u00f6rter generieren<\/h3>\n<p>F\u00fcr den einen oder anderen Zweck m\u00f6chten Sie vielleicht Kennw\u00f6rter generieren oder in einer Benutzeroberfl\u00e4che die M\u00f6glichkeit zum Generieren von Kennw\u00f6rtern anbieten. Wenn Sie etwa Benutzer zu einer Benutzerverwaltung hinzuf\u00fcgen, sollten Sie ein initiales Kennwort definieren, dass der Benutzer dann bei der ersten Anmeldung \u00e4ndert. Das Generieren von Kennw\u00f6rtern wird allerdings umso komplizierter, je mehr Anforderungen es gibt. Einfach nur ein paar Zeichen zuf\u00e4llig auszuw\u00e4hlen ist noch einfach, aber wenn es Bedingungen gibt, wie sie in sensiblen Umgebungen vorherrschen, soll ein Kennwort beispielsweise mindestens einen Kleinbuchstaben, einen Gro\u00dfbuchstaben, eine Zahl und ein Sonderzeichen enthalten. Diese Anforderungen wollen wir in der hier vorgestellten Funktion nat\u00fcrlich auch unterst\u00fctzen.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Kennwoerter_generieren\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Neuer Datensatz von Frontend zu Backend<\/h3>\n<p>F\u00fcr manche Themen gibt es keine kurze, pr\u00e4gnante \u00dcberschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer tempor\u00e4ren Tabelle im Frontend gespeichert wird, bis er fertiggestellt ist. Erst danach soll er in einem Rutsch in die entsprechende Tabelle im Backend kopiert werden. Dadurch wollen wir verhindern, dass die Verbindung unn\u00f6tig lange offen gehalten wird, was beim Zugriff vieler Benutzer gleichzeitig die Perfomance beeinflussen kann.<\/p>\n<p><a href=\"http:\/\/www.access-im-unternehmen.de\/Neuer_Datensatz_von_Frontend_zu_Backend\">Zum Artikel &#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTML-Tabellen mit fester Kopfzeile In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beitr\u00e4gen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln von Access<\/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-88032019","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 03\/2019 - 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 03\/2019\" \/>\n<meta property=\"og:description\" content=\"HTML-Tabellen mit fester Kopfzeile In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beitr\u00e4gen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln von Access\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/88032019\/\" \/>\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=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88032019\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88032019\\\/\",\"name\":\"Access im Unternehmen 03\\\/2019 - 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\\\/88032019\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/88032019\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/88032019\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Access im Unternehmen 03\\\/2019\"}]},{\"@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 03\/2019 - Access im Unternehmen","robots":{"index":"noindex","follow":"follow"},"og_locale":"de_DE","og_type":"article","og_title":"Access im Unternehmen 03\/2019","og_description":"HTML-Tabellen mit fester Kopfzeile In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beitr\u00e4gen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln von Access","og_url":"https:\/\/access-im-unternehmen.de\/88032019\/","og_site_name":"Access im Unternehmen","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/88032019\/","url":"https:\/\/access-im-unternehmen.de\/88032019\/","name":"Access im Unternehmen 03\/2019 - 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\/88032019\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/88032019\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/88032019\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Access im Unternehmen 03\/2019"}]},{"@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\/88032019","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=88032019"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/pages\/88032019\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=88032019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}