{"id":55000314,"date":"2016-06-01T00:00:00","date_gmt":"2020-01-24T15:59:34","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=314"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tastensteuerung_abfangen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html","title":{"rendered":"Tastensteuerung abfangen"},"content":{"rendered":"<p class='introduction'>Nicht immer sind die Steuerungen, die Access &uuml;ber zahlreiche Tasten und Tastenkombinationen erm&ouml;glicht, auch wirklich erw&uuml;nscht. Anwender kennen diese oft gar nicht und sind dann manchmal &uuml;ber Reaktionen der Oberfl&auml;che irritiert, die durch versehentliche Anschl&auml;ge zustande kamen. Unter Umst&auml;nden kann es auch zu Datenverlust kommen. Wir stellen dar, wie Sie dem Problem mit unterschiedlichen Ans&auml;tzen beikommen k&ouml;nnen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1603_Tastenhandling.accdb<\/b><\/p>\n<h2>Spezialtasten<\/h2>\n<p>Wie viele andere Applikationen auch kennt Access eine gro&szlig;e Zahl von Tastenkombinationen, &uuml;ber die sich die Oberfl&auml;che steuern l&auml;sst. Eigentlich ist das sinnvoll, da der st&auml;ndige Wechsel zwischen Tastatur und Maus nicht unbedingt komfortabel ist. Voraussetzung aber ist, dass Sie diese Tastenkombinationen auch kennen.<\/p>\n<p>Aus der Hilfe zu Access wurde &uuml;ber einige Umwege die Tabelle <b>AccessTasten<\/b> der Beispieldatenbank gewonnen, welche alle aktuell m&ouml;glichen Tastenfunktionen auflistet (siehe Bild 1). Der Umfang ist mit etwa 450 Funktionen erschlagend. Je nach Kontext kommen bestimmte Kombinationen mehrfach vor. <b>ALT+F4<\/b> etwa schlie&szlig;t in der Regel ein Fenster oder Formular, beendet aber auch Access selbst, wenn gerade kein Fenster offen ist. Ist das erw&uuml;nscht Wenn der Anwender sich auskennt, dann schon, andernfalls ist es eine Gefahr.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/tblAccessTasten.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/tblAccessTasten.png\" alt=\"Tabelle AccessTasten mit allen unter Access m&ouml;glichen Tastenkombinationen\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Tabelle AccessTasten mit allen unter Access m&ouml;glichen Tastenkombinationen<\/p>\n<p>Bl&auml;ttern Sie ruhig einmal die Tabelle durch. Sie finden in ihr garantiert viele Kombinationen, die Sie noch nicht kannten, oder &uuml;ber deren Funktion Sie in einem anderen Kontext erstaunt sein werden. Dem Benutzer Ihrer Datenbank werden diese Funktionen sicherlich erst recht unbekannt sein. Sie sind deshalb auf der sicheren Seite, wenn Sie die Spezialtasten von Access in den Optionen der Datenbank abstellen. Sie finden die zugeh&ouml;rige Checkbox in den Optionen unter <b>Aktuelle Datenbank<\/b> und dem Eintrag <b>Access Spezialtasten verwenden<\/b>, wie in Bild 2.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/OptionSpezialtasten.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/OptionSpezialtasten.png\" alt=\"Spezialtasten in den Optionen der Datenbank ein- und ausschalten\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Spezialtasten in den Optionen der Datenbank ein- und ausschalten<\/p>\n<p>Entfernen Sie hier besser das H&auml;kchen, wenn die Datenbank auch von anderen Benutzern verwendet werden soll.<\/p>\n<p>Leider ist keinesfalls klar definiert, was Microsoft unter Spezialtasten versteht. Sehr viele der Kombinationen in der Tabelle funktionieren auch dann noch, wenn die Option deaktiviert ist. Aus diesem Grund m&uuml;ssen wir uns Gedanken machen, welche zus&auml;tzlichen L&ouml;sungen zum Umgang mit Tastenereignissen infrage kommen.<\/p>\n<h2>Autokeys<\/h2>\n<p>Dass ein mit <b>AutoExec<\/b> benanntes Makro von Access unmittelbar nach dem &ouml;ffnen einer Datenbank ausgef&uuml;hrt wird, wissen Sie wahrscheinlich. Das zweite automatisch ausgef&uuml;hrte nennt sich <b>AutoKeys<\/b>. So vorhanden liest Access die dort definierten Tasten und Tastenkombinationen sofort ein und belegt diese mit den von ihnen bestimmten Aktionen. Die eingebauten Funktionen werden so au&szlig;er Kraft gesetzt. <\/p>\n<p>Das Thema wurde bereits in der Ausgabe <b>09\/2012<\/b> von <b>Access Basics<\/b> ausf&uuml;hrlicher dargestellt. Lesen Sie sich dort ein, wenn Sie &uuml;ber die Anlage des Makros mehr erfahren m&ouml;chten. An dieser Stelle zeigen wir Ihnen am Beispiel von Bild 3, wie unerw&uuml;nschte Tasturereignisse mit dem <b>AutoKeys<\/b>-Makro abgefangen werden k&ouml;nnen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/AutoKeysDesign.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/AutoKeysDesign.png\" alt=\"Beispiel eines kurzen Autokeys-Makros\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Beispiel eines kurzen Autokeys-Makros<\/p>\n<p>Grunds&auml;tzlich muss hier f&uuml;r eine Taste oder eine Tastenkombination eine Aktion angegeben werden. Ohne diese ergibt eine Makrozeile ja keinen Sinn. Was aber mit den unerw&uuml;nschten Tasten anfangen, damit gar nichts passiert Am geeignetsten daf&uuml;r ist die Aktion <b>Kommentar<\/b>. In der untersten Zeile finden Sie die Angabe von <b>^{P}<\/b>, was im <b>AutoKeys<\/b>-Dialekt der Kombination <b>Strg + P<\/b> entspricht. Diese Kombination f&uuml;hrt zum Drucken des aktuell angezeigten Objekts. W&auml;re das ein Formular mit Tausenden von Datens&auml;tzen, so w&uuml;rde diese Aktion wohl eher zum Unmut des Anwenders f&uuml;hren, falls sie versehentlich ausgel&ouml;st worden w&auml;re. Also ist als Reaktion auf dieses Tastenereignis ein Kommentar mit der Beschreibung <b>Drucken unterbinden<\/b> eingef&uuml;gt, der dann in gr&uuml;ner Schrift erscheint. Ausgef&uuml;hrt wird demnach bei <b>Strg + P<\/b> lediglich der Kommentar &#8211; also gar nichts!<\/p>\n<p>&auml;hnlich wird mit <b>Strg + G<\/b> verfahren, was &uuml;blicherweise den VBA-Editor &ouml;ffnet. Auch das will man in produktiver Umgebung sicher nicht haben, wobei hier allerdings auch das Abschalten der <b>Spezialtasten<\/b> in den Optionen der Datenbank greifen w&uuml;rde.<\/p>\n<p>Anstelle des kompletten Deaktivierens einer Tastenkombination &uuml;ber eine <b>Kommentar<\/b>-Aktion k&ouml;nnen Sie aber auch eigene Funktionen aufrufen lassen. Die Tasten <b>F9<\/b> bis <b>F12<\/b> im Beispiel etwa rufen alle die Funktion <b>fuGlobalKey<\/b> auf, wobei jeweils ein anderer Parameter &uuml;bergeben wird. Diese Funktion muss &ouml;ffentlich in einem Modul Ihrer Datenbank vorhanden sein. In der Beispieldatenbank finden Sie diese im Modul <b>mdlGlobalKeys<\/b>. Listing 1 verdeutlicht die Routine.<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>fuGlobalKey(ByVal sKey<span style=\"color:blue;\"> As String<\/span>)\r\n     On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n     Select Case sKey\r\n     <span style=\"color:blue;\">Case <\/span>\"F11\"\r\n         DoCmd.OpenForm \"frmTastatur\"\r\n     <span style=\"color:blue;\">Case <\/span>\"F12\"\r\n         DoCmd.OpenForm \"frmAdressen\"\r\n     <span style=\"color:blue;\">Case <\/span>\"F10\"\r\n         DoCmd.OpenForm \"frmIntro\"\r\n     <span style=\"color:blue;\">Case <\/span>\"F9\"\r\n         DoCmd.Close acForm, Screen.ActiveForm.Name\r\n     <span style=\"color:blue;\">Case <\/span>\"STRG-P\"\r\n         <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">MsgBox<\/span>(\"M&ouml;chten Sie das Objekt drucken\", vbYesNo) = vbYes<span style=\"color:blue;\"> Then<\/span>\r\n             DoCmd.PrintOut acPrintAll\r\n         <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p class='imagetext'>Listing 1: Abfangen der Tastenereignisse &uuml;ber die Funktion fuGlobalKey<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000314\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000314?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000314\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nicht immer sind die Steuerungen, die Access &uuml;ber zahlreiche Tasten und Tastenkombinationen erm&ouml;glicht, auch wirklich erw&uuml;nscht. Anwender kennen diese oft gar nicht und sind dann manchmal &uuml;ber Reaktionen der Oberfl&auml;che irritiert, die durch versehentliche Anschl&auml;ge zustande kamen. Unter Umst&auml;nden kann es auch zu Datenverlust kommen. Wir stellen dar, wie Sie dem Problem mit unterschiedlichen Ans&auml;tzen beikommen k&ouml;nnen.<\/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":[662016,66032016,44000010],"tags":[],"class_list":["post-55000314","post","type-post","status-publish","format-standard","hentry","category-662016","category-66032016","category-Formulare_mit_VBA_programmieren"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tastensteuerung abfangen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Nicht immer sind die Steuerungen, die Access \u00fcber zahlreiche Tasten und Tastenkombinationen erm\u00f6glicht, auch wirklich erw\u00fcnscht. Anwender kennen diese oft gar nicht und sind dann manchmal \u00fcber Reaktionen der Oberfl\u00e4che irritiert, die durch versehentliche Anschl\u00e4ge zustande kamen. Unter Umst\u00e4nden kann es auch zu Datenverlust kommen. Wir stellen dar, wie Sie dem Problem mit unterschiedlichen Ans\u00e4tzen beikommen k\u00f6nnen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tastensteuerung abfangen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Nicht immer sind die Steuerungen, die Access \u00fcber zahlreiche Tasten und Tastenkombinationen erm\u00f6glicht, auch wirklich erw\u00fcnscht. Anwender kennen diese oft gar nicht und sind dann manchmal \u00fcber Reaktionen der Oberfl\u00e4che irritiert, die durch versehentliche Anschl\u00e4ge zustande kamen. Unter Umst\u00e4nden kann es auch zu Datenverlust kommen. Wir stellen dar, wie Sie dem Problem mit unterschiedlichen Ans\u00e4tzen beikommen k\u00f6nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/tblAccessTasten.png\" \/>\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=\"12\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/tblAccessTasten.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html\",\"name\":\"Tastensteuerung abfangen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:34+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Nicht immer sind die Steuerungen, die Access \\u00fcber zahlreiche Tasten und Tastenkombinationen erm\\u00f6glicht, auch wirklich erw\\u00fcnscht. Anwender kennen diese oft gar nicht und sind dann manchmal \\u00fcber Reaktionen der Oberfl\\u00e4che irritiert, die durch versehentliche Anschl\\u00e4ge zustande kamen. Unter Umst\\u00e4nden kann es auch zu Datenverlust kommen. Wir stellen dar, wie Sie dem Problem mit unterschiedlichen Ans\\u00e4tzen beikommen k\\u00f6nnen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Tastensteuerung_abfangen.html\",\"name\":\"Tastensteuerung abfangen\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000314"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000314\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}