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 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:

  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.