Beitrag aus SmartTools Access Weekly
Registerkarten per Tastenkombination wechseln
Access 365 2024 2021 2019 2016 2013 2010
FRAGE In einem besonders umfangreichen Access-Formular habe ich die Felder mit Hilfe eines Registers strukturiert. Viele Anwender möchten zum Anwählen eines Registers nicht die Maus verwenden. Gibt es beim Register-Steuerelement eine Möglichkeit, mit Hilfe einer Tastenkombination auf eine andere Registerkarte zu wechseln? In Excel gibt es dafür zum Beispiel die Tastenkombinationen Strg + Pgupbzw. Strg + Pgdn.
T. Richter
ANTWORT 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.