Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как заменить горячие клавиши Access своими

5.9K
16 марта 2004 года
Середнячок
12 / / 15.03.2004
Например, F7 - проверка провописания в Access 2000 и XP, как при нажатии на F7 сделать вызов своей процедуры (другие кл F2,F3,DEL,INS не интересуют ) . Почему F6 срабатывает в Access 2000 , но не рабатывает в Ассеss XP.
258
16 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Середнячок
Например, F7 - проверка провописания в Access 2000 и XP, как при нажатии на F7 сделать вызов своей процедуры (другие кл F2,F3,DEL,INS не интересуют ) . Почему F6 срабатывает в Access 2000 , но не рабатывает в Ассеss XP.



К сожалению в Access нет такого метода как в VBA - OnKey? так что приходится обходится другим:

Через настройку панель инструментов можно назначить быструю клавишу для выбранной кнопки, и также можно сделать для пункта меню, но вызываться они будут все только через Alt+...

Но есть еще вариант, можно назначить любое сочетание клавиш на выполнение макроса, т.о. я думаю можно попробоавать перебить ст. команду на спец. клавишах.

Все это есть в справке, введи в поиске - "клавиши"

5.9K
16 марта 2004 года
Середнячок
12 / / 15.03.2004
Цитата:
Originally posted by SergeySV


К сожалению в Access нет такого метода как в VBA - OnKey? так что приходится обходится другим:

Через настройку панель инструментов можно назначить быструю клавишу для выбранной кнопки, и также можно сделать для пункта меню, но вызываться они будут все только через Alt+...

Но есть еще вариант, можно назначить любое сочетание клавиш на выполнение макроса, т.о. я думаю можно попробоавать перебить ст. команду на спец. клавишах.

Все это есть в справке, введи в поиске - "клавиши"

5.9K
16 марта 2004 года
Середнячок
12 / / 15.03.2004
Метода нет, но событие ONKEY есть.На клавиши DEL,INS,OK,F2-F6 всё получается, а F7 - не срабатывает, загружается проверка правописания, надо как то при загрузке приложения сделать горячие клавиши ACCESS не активными, только как?
258
17 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Середнячок
Метода нет, но событие ONKEY есть.На клавиши DEL,INS,OK,F2-F6 всё получается, а F7 - не срабатывает, загружается проверка правописания, надо как то при загрузке приложения сделать горячие клавиши ACCESS не активными, только как?



событие ONKEY тебе никак не поможет, на то оно и событие, тебе же надо не просто вызывать что-то вызывать на клавишу F7, а еще и отменить станд. действие, так что надо именно перебить...

ст. свойств для горячих клавиши у Access нет, так что придется извращаться.

попробуй перебить своим макросом назначив ему горячую клавишу F7.

5.9K
17 марта 2004 года
Середнячок
12 / / 15.03.2004
Привожу код

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 молчит.
258
18 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Обанна, так ты себя еще согласна формой ограничить, я думал тебе надо по всему Access'у отменить F7, а так твоя отмена действует только при активной форме...
5.9K
19 марта 2004 года
Середнячок
12 / / 15.03.2004
Цитата:
Originally posted by SergeySV
Обанна, так ты себя еще согласна формой ограничить, я думал тебе надо по всему Access'у отменить F7, а так твоя отмена действует только при активной форме...



F7 Запускается даже если форма не активна,загружает первую по алфавиту таблицу на проверку , а мне это за чем

258
19 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Середнячок


F7 Запускается даже если форма не активна,загружает первую по алфавиту таблицу на проверку , а мне это за чем



Ты меня не поняла, я как раз и имел ввиду что настоящие горячие клавишы действует в любой момент в Access, а в твоем примере, где пытаешься использовать событие формы OnKey, замена горячей клавишы будет работать ТОЛЬКО если форма загружена.

Еще раз повторю, для назначения глобальных клавиш, в том числе и перебивающие стандартныев Access предусмотрена только одна возможность - это макрос входящий в группу AutoKeys. В справке про это очень подробно все описано.

Чтобы доказать тебе это, прикладываю базу в которой переопределены клавиши F1,F2,F3,F4,F5,F6,F7

5.9K
20 марта 2004 года
Середнячок
12 / / 15.03.2004
Цитата:
Originally posted by SergeySV


Ты меня не поняла, я как раз и имел ввиду что настоящие горячие клавишы действует в любой момент в Access, а в твоем примере, где пытаешься использовать событие формы OnKey, замена горячей клавишы будет работать ТОЛЬКО если форма загружена.

Еще раз повторю, для назначения глобальных клавиш, в том числе и перебивающие стандартныев Access предусмотрена только одна возможность - это макрос входящий в группу AutoKeys. В справке про это очень подробно все описано.

Чтобы доказать тебе это, прикладываю базу в которой переопределены клавиши F1,F2,F3,F4,F5,F6,F7



Мерси, помогло, теперь я знаю что мне делать,
уж очень некрасиво было бы если бы случайно user нажал F7 :)

5.9K
20 марта 2004 года
Середнячок
12 / / 15.03.2004
Цитата:
Originally posted by Середнячок


Мерси, помогло, теперь я знаю что мне делать,
уж очень некрасиво было бы если бы случайно user нажал F7 :)



А как же быть с INSERT И DELETE на уровне приложения их можно активизировать?
Добавила строчки в макрос Hii(Ins) Hii(del) пишет не найден объект ins del:(

5.9K
21 марта 2004 года
Середнячок
12 / / 15.03.2004
Цитата:
Originally posted by Середнячок


А как же быть с INSERT И DELETE на уровне приложения их можно активизировать?
Добавила строчки в макрос Hii(Ins) Hii(del) пишет не найден объект ins del:(



С клавишами iNSERT AND DELETE тоже всё получилось, ещё раз большое спасибо за помощь :)

258
22 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Середнячок


С клавишами iNSERT AND DELETE тоже всё получилось, ещё раз большое спасибо за помощь :)



Пжл, приходите еще :)

Я понимаю, что серьезным людям смешно кажется обращаться в Access к макросам, но в случае с горячими клавишами, а также автозапуска указанной функции при запуске базы, это единственный момент для которого макросы и следует использовать.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог