Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Tastaturabfragen in geteilten Formularen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Ich habe festgestellt, dass das Ereignis "Form_KeyDown" in geteilten Formularen nicht wie gewohnt funktioniert. Geteilte Formulare nutzen wir seit Access 2007. Wenn der Anwender dort beispielsweise die Funktionstasten F6 oder F12 betätigt, werden die Funktionen ausgeführt, die ich hinterlegt habe (Tastenvorschau für das Formular ist auf "Ja" eingestellt). Betätigt der Anwender diese Funktionstasten jedoch in einer neueren Access-Version, werden die Standard-Access-Funktionen ausgeführt. Ich finde keine Möglichkeit, dies zu unterbinden.

Diverse Anfragen

ANTWORT Bei geteilten Formularen werden keine "KeyXXX"-Ereignisse ausgelöst, auch wenn "Tastenvorschau=Ja" gesetzt ist. Lösen können Sie dieses Problem, indem Sie die globale Tastaturumbelegung von Access per "AutoKeys"-Makro folgendermaßen nutzen:

  1. Sofern noch kein "AutoKeys"-Makro vorhanden ist, wechseln Sie auf die Registerkarte "Erstellen" und klicken Sie auf Makro, um ein neues Makro anzulegen.
  2. Klicken Sie auf Alle Aktionen Anzeigen und auf Aktionskatalog.
  3. Doppelklicken Sie im Aktionskatalog auf Untermakro.
  4. Geben Sie im Feld Untermakro den Bezeichner der Taste ein, die umbelegt werden soll, also beispielsweise {F6} für die Funktionstaste F6 oder {Esc} für die Esc-Taste. Wird die Taste in Kombination mit einer Sondertaste wie zum Beispiel Strg, Alt oder Umschalt gedrückt, stellen Sie dem Bezeichner das Zeichen "^", "%" oder "+" voran, also zum Beispiel ^{F6} für Strg + F6 oder +{F12} für Umschalt + F12.
  5. Eine detaillierte Übersicht der Tasten-Bezeichner finden Sie in der Hilfe zur VBA-Anweisung "SendKeys": Wechseln Sie mit Alt + F11 in die VBA-Entwicklungsumgebung, drücken Sie Strg + G, um den Direktbereich anzuzeigen, geben Sie "SendKeys" ein, markieren Sie den Text und drücken Sie F1.
  6. Wählen Sie unter Neue Aktion Hinzufügen die Aktion aus, die beim Betätigen der betreffenden Taste bzw. Tastenkombination ausgeführt werden soll, also beispielsweise "Signalton", um einen akustischen Hinweis darauf auszugeben, dass der Tastendruck keine Auswirkung hat, "Meldung" um einen Hinweis wie "F6 nicht verfügbar..." anzuzeigen oder "AusführenMakro" bzw. "AusführenCode", um ein anderes Makro oder eine VBA-Funktion aus einem Modul aufzurufen.
  7. Speichern Sie das Makro, beenden Sie die Datenbank und öffnen Sie sie einmal neu.

Nun werden Sonder- und Funktionstasten wieder wie gewohnt abgefangen oder darüber aufgerufene, eigene Makros oder Funktionen ausgeführt.