Я пытаюсь воспроизвести вашу проблему на простой форме с полем. Клавиша CTRL используется доступ доступа к некоторым событиям на другие кнопки и элементы управления, по этой причине я положил на основной форме этой процедуры:
Private Sub Form_KeyPress(KeyAscii As Integer)
Debug.Print KeyAscii
End Sub
Вы можете использовать KeyPress событий на поле (контроль) или на основная форма. Этот случай требует от основной формы.
Затем я пытаюсь пульсировать CTRL A и видеть на промежуточном окне (на VBA), что число было 1.
Решение прост, обнаруживает этот KeyAscii и моделирует альтернативу SENDKEYS.
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 1 Then
SendKeys "{Enter}" 'or eny key that you need
End If
End Sub
Вы можете найти дополнительную помощь Abaout SendKeys на: MS Access Help
Так я считал, что некоторые компьютеры с ОС Windows 7/8/9 и Access 2007/2010/2013 можно заблокировать команду SendKeys по соображениям безопасности ,
В этом случае я предпочитаю использовать прямую команду, нужно, как:
me.controlfield.setfocus
Другая возможность заключается в том (я использую обычно это последний)
DoCmd.GoToControl ("fieldname")
Спасибо, отлично работает! – Gerry