Страница 1 из 1

VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Пн мар 28, 2005 9:41
dBaser
Иногда на форме необходимо бывает перехватывать нажатие кнопок (например PageUp и PageDown для отмены перехода между записями)


Вот простенькое решение этой задачи!


Код: Выделить всё

Private Sub Form_KeyDown (KeyCode as Integer, Shift as Integer) 

          Select Case KeyCode 
                     Case vbKeyPageUp, vbKeyPageDown 
                             KeyCode=0 

                     Case Else 
                            'Ничче не делать! 
          End Select 
End Sub 

Этот код нужно поместить в обработку событий формы "Нажатие кнопки"!
Если еще добавить в свойство цикла табуляции на форме "Только текущая запись", то на Вашей форме будет обрабатываться только текущая запись и не будет никаких недоразумений у конечного пользователя!

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Вс апр 12, 2015 22:10
Rostislava
У меня вопрос по коду на VBA:
на форме есть три кнопки: кнопка Поиск, кнопка Далее, кнопка Закрыть. Кнопка Поиск при нажатии на неё ищет по введенному образцу соответствующие записи, кнопка Далее продолжает поиск, а кнопка Cancel должна закрыть эту форму. Как написать код на VBA для кнопки Cancel? Помогите, плиз!!!! Буду очень благодарна.

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Пн апр 13, 2015 7:13
_korvin81
Rostislava

Код: Выделить всё

Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub
в модуле твоей формы
CommandButton1_Click - подставишь имя своей кнопки Cancel
UserForm1 - подставишь имя своей Формы

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Пн апр 13, 2015 14:39
Rostislava
Спасибо огромное! А для кнопки Далее? Я понимаю, что надо организовать цикл, но как?

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Вт апр 14, 2015 8:29
_korvin81
Rostislava
А как у тебя работает кнопка Поиск? Как получается тот список по которому ты будешь двигаться кнопкой Далее?

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Вт апр 14, 2015 21:44
Rostislava
Код на VBA для кнопки Поиск:
Private Sub Поиск_Click()

Фам_учен.SetFocus
DoCmd.FindRecord Образец
MsgBox ("Образец найден")

End Sub
В поле образец вводим фамилию искомого ученика, нажимаем на кнопку Поиск и на форме отображаются данные ученика по этой фамилии. Но макрос находит первого ученика с такой фамилией. А учеников с такой фамилией несколько, как найти следующего ученика с такой фамилией при нажатии на кнопку Далее?

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Вт апр 14, 2015 23:34
DbIMok

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Ср апр 15, 2015 22:02
Rostislava
Спасибо! Все работает!

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Ср апр 15, 2015 22:04
Rostislava
Еще один вопрос: как сделать, чтобы при запуске базы данных открывалась форма без ленты меню ( как в учебной базе Борей)?

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Ср апр 15, 2015 23:53
DbIMok
Изображение

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Сб апр 18, 2015 16:03
Rostislava
У меня офис 2010

Re: VBA Access ::: Перехват нажатия кнопок на форме

Добавлено: Пн апр 20, 2015 7:50
_korvin81
"Файл" - "Параметры" или "Параметры Конфиденциальности"
Изображение
далее на вкладке "Текущая база данных"
Изображение