VBA, MS Access MS Access в примерах

Перемещение вверх и вниз в ленточной форме клавишами управления курсором

Как известно, по умолчанию, в ленточной форме перемещение от записи к записи происходит только после прохождения фокуса через все доступные поля. Дабы производить переход так же как в таблице необходимо:
1.
Для формы установить в свойстве ПЕРЕХВАТ НАЖАТИЯ КЛАВИШ = ДА
Или поместите следующий код в процедуру загрузки формы.

Private Sub Form_Load()  
    Me.KeyPreview=True  'Перехват нажатия клавиш. 
End Sub 


2.
На событие КЛАВИША ВНИЗ Form_KeyDown() формы вставить код:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Перемещение вверх и вниз в ленточной форме клавишами управления курсором
On Error GoTo Form_KeyDown_ERR
' Определение направления перехода по аргументам:
    Select Case KeyCode
        Case vbKeyUp And Shift = 0    ' Нажата клавиша ВВЕРХ (Alt, Ctrl не нажаты)
            KeyCode = 0
            DoCmd.GoToRecord acDataForm, Me.Name, acPrevious
        
        Case vbKeyDown And Shift = 0  ' Нажата клавиша ВНИЗ (Alt, Ctrl не нажаты)
            KeyCode = 0
            DoCmd.GoToRecord acDataForm, Me.Name, acNext
        End Select
    Exit Sub
    
Form_KeyDown_ERR:
    Err.Clear
End Sub

Назад ToTop
L.E. 16.07.2023
Рейтинг@Mail.ru