Как заменить горячие клавиши Access своими
Например, F7 - проверка провописания в Access 2000 и XP, как при нажатии на F7 сделать вызов своей процедуры (другие кл F2,F3,DEL,INS не интересуют ) . Почему F6 срабатывает в Access 2000 , но не рабатывает в Ассеss XP.
К сожалению в Access нет такого метода как в VBA - OnKey? так что приходится обходится другим:
Через настройку панель инструментов можно назначить быструю клавишу для выбранной кнопки, и также можно сделать для пункта меню, но вызываться они будут все только через Alt+...
Но есть еще вариант, можно назначить любое сочетание клавиш на выполнение макроса, т.о. я думаю можно попробоавать перебить ст. команду на спец. клавишах.
Все это есть в справке, введи в поиске - "клавиши"
К сожалению в Access нет такого метода как в VBA - OnKey? так что приходится обходится другим:
Через настройку панель инструментов можно назначить быструю клавишу для выбранной кнопки, и также можно сделать для пункта меню, но вызываться они будут все только через Alt+...
Но есть еще вариант, можно назначить любое сочетание клавиш на выполнение макроса, т.о. я думаю можно попробоавать перебить ст. команду на спец. клавишах.
Все это есть в справке, введи в поиске - "клавиши"
Метода нет, но событие ONKEY есть.На клавиши DEL,INS,OK,F2-F6 всё получается, а F7 - не срабатывает, загружается проверка правописания, надо как то при загрузке приложения сделать горячие клавиши ACCESS не активными, только как?
событие ONKEY тебе никак не поможет, на то оно и событие, тебе же надо не просто вызывать что-то вызывать на клавишу F7, а еще и отменить станд. действие, так что надо именно перебить...
ст. свойств для горячих клавиши у Access нет, так что придется извращаться.
попробуй перебить своим макросом назначив ему горячую клавишу F7.
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
DefineKeys KeyCode
End Sub
Public Sub DefineKeys(code As Integer)
Select Case code
Case vbKeyInsert
blnParameter = 0
Records
Case vbKeyF4
blnParameter = 1
Records
Case vbKeyF3
DobSpr
Case vbKeyDelete
Dell_Click
Case 13
Vibr_record
Case vbKeyEscape
DoCmd.Close
Case vbKeyF2
blnParameter = 2
Records
Case vbKeyF6
Poisk_record
Case Else
End Select
End Sub
ВМЕСТО F6 хотелось бы использовать F7.
При проверке это событие не происходит при наж F7. Но F6 срабатывает в ACCESS 2000, а в ACCESS 2002 молчит.
Обанна, так ты себя еще согласна формой ограничить, я думал тебе надо по всему Access'у отменить F7, а так твоя отмена действует только при активной форме...
F7 Запускается даже если форма не активна,загружает первую по алфавиту таблицу на проверку , а мне это за чем
F7 Запускается даже если форма не активна,загружает первую по алфавиту таблицу на проверку , а мне это за чем
Ты меня не поняла, я как раз и имел ввиду что настоящие горячие клавишы действует в любой момент в Access, а в твоем примере, где пытаешься использовать событие формы OnKey, замена горячей клавишы будет работать ТОЛЬКО если форма загружена.
Еще раз повторю, для назначения глобальных клавиш, в том числе и перебивающие стандартныев Access предусмотрена только одна возможность - это макрос входящий в группу AutoKeys. В справке про это очень подробно все описано.
Чтобы доказать тебе это, прикладываю базу в которой переопределены клавиши F1,F2,F3,F4,F5,F6,F7
Ты меня не поняла, я как раз и имел ввиду что настоящие горячие клавишы действует в любой момент в Access, а в твоем примере, где пытаешься использовать событие формы OnKey, замена горячей клавишы будет работать ТОЛЬКО если форма загружена.
Еще раз повторю, для назначения глобальных клавиш, в том числе и перебивающие стандартныев Access предусмотрена только одна возможность - это макрос входящий в группу AutoKeys. В справке про это очень подробно все описано.
Чтобы доказать тебе это, прикладываю базу в которой переопределены клавиши F1,F2,F3,F4,F5,F6,F7
Мерси, помогло, теперь я знаю что мне делать,
уж очень некрасиво было бы если бы случайно user нажал F7 :)
Мерси, помогло, теперь я знаю что мне делать,
уж очень некрасиво было бы если бы случайно user нажал F7 :)
А как же быть с INSERT И DELETE на уровне приложения их можно активизировать?
Добавила строчки в макрос Hii(Ins) Hii(del) пишет не найден объект ins del:(
А как же быть с INSERT И DELETE на уровне приложения их можно активизировать?
Добавила строчки в макрос Hii(Ins) Hii(del) пишет не найден объект ins del:(
С клавишами iNSERT AND DELETE тоже всё получилось, ещё раз большое спасибо за помощь :)
С клавишами iNSERT AND DELETE тоже всё получилось, ещё раз большое спасибо за помощь :)
Пжл, приходите еще :)
Я понимаю, что серьезным людям смешно кажется обращаться в Access к макросам, но в случае с горячими клавишами, а также автозапуска указанной функции при запуске базы, это единственный момент для которого макросы и следует использовать.