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

Registerkarten per Tastenkombination wechseln

Access 365 2024 2021 2019 2016 2013 2010s

FRAGE Ich nutze in einem Formular meiner Access-Datenbank ein Register-Steuerelement und möchte den Bedienkomfort für Anwender verbessern, die mit Tastatursshortcuts arbeiten. Gibt es beim Register-Steuerelement eine Möglichkeit, mittels einer Tastenkombination auf eine andere Registerkarte zu wechseln? In Excel werden für diesen Zweck zum Beispiel die Tastenkombinationen Strg + Pgup bzw. Strg + Pgdn verwendet.

Diverse Anfragen

ANTWORT: Solche Tastenkombinationen sind für das Register-Steuerelement leider nicht vorgesehen. Sie können aber über die Eigenschaft "Beschriftung" einer Registerkarte eine Tastenkombination Alt + Taste festlegen, indem Sie der gewünschten Zusatztaste ein kaufmännisches Und-Zeichen "&" voranstellen. Geben Sie beispielsweise einer Registerkarte eine Beschriftung "&Kunden", kann die Registerkarte "Kunden" mit Alt + K oder bei einer Beschriftung "Basis&daten" eine Registerkarte "Basisdaten" mit Alt + D aktiviert werden.

Alternativ können Sie die Excel-Funktionalität auch für ein Register-Steuerelement umsetzen:

  1. Lassen Sie das Formular in der Entwurfsansicht anzeigen und markieren Sie das Register-Steuerelement.
  2. Stellen Sie die Eigenschaft "Bei Taste Ab" auf "[Ereignisprozedur]" ein und klicken Sie auf "...", um den VBA-Editor zu öffnen.
  3. Kopieren Sie folgenden Code in die Ereignisprozedur:
Dim Idx As Integer

If KeyCode = vbKeyPageUp And _
             (Shift And acCtrlMask) Then
  Idx = regMain.Value - 1
  If Idx < 0 Then Idx = regMain.Pages.Count - 1
  regMain.Value = Idx
ElseIf KeyCode = vbKeyPageDown And _
                 (Shift And acCtrlMask) Then
  Idx = regMain.Value + 1
  If Idx > regMain.Pages.Count - 1 Then Idx = 0
  regMain.Value = Idx
End If
  1. Speichern Sie die Änderungen und testen Sie das Formular.

Diese Anweisungen prüfen, ob eine der Tastenkombinationen Strg + Pgup bzw. Strg + Pgdn gedrückt wurde. Ist das der Fall, wird aus der Eigenschaft "Value" der Index der aktuellen Registerkarte in "Idx" eingelesen (ergibt "0" bis "Anzahl Registerkarten -1, da nullbasiert indexiert) und dazu "1" addiert (Bild ab, vorwärts) bzw. subtrahiert (Bild auf, rückwärts). Bei Erreichen der ersten oder letzten Registerkarte erfolgt eine Positionierung auf die letzte oder erste Registerkarte, so dass umlaufend gewechselt werden kann.