| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > отловить событие перед вставкой новой записи |
| Автор: Perun 27.3.2008, 12:25 | ||
| Нашёл похожую тему, но там не было того что мне надо. Мне просто перед добаавлением записи(стнадартной кнопкой перехода на форме) надо проверить все ли поля заполнены - это выпадающие списки и поля ввода. Я взял событие Private Sub Form_BeforeInsert(Cancel As Integer) В нём написал код:
не пойму на какое соытие надо поставиьт код или в коде проблема?? |
| Автор: Akina 27.3.2008, 13:25 | ||||
В коде проблема есть однозначно - прежде чем обращаться к значению поля, надо перевести на него фокус. Соответственно не
а
|
| Автор: Perun 27.3.2008, 14:52 |
| Ну и что? Поставил breakpoint на событие - оно срабатывает ещё до выбора объекта из списка! А надо - при нажатии кнопки перехода(вставка текущей записи и переход к новой) отловить событие и проверить заполнение всех полей формы. ?????? Добавлено через 11 минут и 24 секунды и ещё, как на поле ввода переместить фокус - на SetFocus ругается - нет такого метода |
| Автор: Akina 27.3.2008, 17:51 | ||||
Ну правильно... справка так и говорит:
Соответственно надо использовать
Но я бы оторвал форму от таблицы и сделал занесение (и проверку) данных по нажатию спецовой кнопки. |
| Автор: Perun 27.3.2008, 18:43 |
| Да, так действительно лучше! Убрать кнопки перехода и создать свои кнопки? Это так называемый "хороший стиль программирования" |
| Автор: Akina 27.3.2008, 19:03 |
| А у тебя вообще не будет кнопок перехода - у тебя же форма не будет иметь источника данных, все поля отвязаны от таблиц. |
| Автор: Perun 28.3.2008, 11:30 |
| не понял - я форме в данных же задал таблицу и убрал отображение стандартных кнопок перехода |
| Автор: Akina 28.3.2008, 12:09 |
| Не, внешний вид ты строй как хочешь. Я о сути. |
| Автор: Perun 28.3.2008, 12:45 |
| Понял, событие обработал как хотел. Спасибо |