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:
- Lassen Sie das Formular in der Entwurfsansicht anzeigen und markieren Sie das Register-Steuerelement.
- Stellen Sie die Eigenschaft "Bei Taste Ab" auf "[Ereignisprozedur]" ein und klicken Sie auf "...", um den VBA-Editor zu öffnen.
- 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
- 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.