Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Имитация триггера перед обновлением  [new]
antipod
Member

Откуда:
Сообщений: 376
Подскажите как корректно блокировать обновления поля если вводится ошибочное значение? я пытаюсь повесить процедуру на "перед обновлением" и после все ошибка получается.
3 авг 06, 13:53    [2960254]     Ответить | Цитировать Сообщить модератору
 Re: Имитация триггера перед обновлением  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
antipod
пытаюсь

Как?

antipod
ошибка

Какая?
3 авг 06, 15:02    [2960776]     Ответить | Цитировать Сообщить модератору
 Re: Имитация триггера перед обновлением  [new]
antipod
Member

Откуда:
Сообщений: 376
пыталс прописать на событие перед обновлением
- перед обновлением сохранял старый результат

- после обновления делал проверку и если ошибка msgbox и замена на старе значение

пише что так делать нельза значение поля менять в данный момент не возможно
3 авг 06, 15:21    [2960959]     Ответить | Цитировать Сообщить модератору
 Re: Имитация триггера перед обновлением  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
antipod
пише что так делать нельза значение поля менять в данный момент не возможно

И правильно. Это делается иначе: пишется
Cancel=True
И тогда юзер просто не сможет выйти из поля, пока не занесет допустимое значение или пока не нажмет на Esc (и во втором случае старое значение восстановится само).
3 авг 06, 15:55    [2961224]     Ответить | Цитировать Сообщить модератору
 Re: Имитация триггера перед обновлением  [new]
antipod
Member

Откуда:
Сообщений: 376
Не понял
Cansel это какое
4 авг 06, 13:32    [2965480]     Ответить | Цитировать Сообщить модератору
 Re: Имитация триггера перед обновлением  [new]
ЁхынПалыч
Guest
2 antipod:
В событии поля (объекта), в приватной пр-ре, есть принимаемый системный аргумент Cancel - он вам и оно.
А общая схема "отказа" при работе с событиями ПередОбновлением такова:
1. Чё-то проверить - ага, не ага.
2. Если ага (не ага) - сделать что-то И применить событие .Undo поля (объекта).
3. Прервать дальнейшую цепочку событий обработки Cancel=True (как подсказал ВС) или Cancel=vbCancel (как подсказываю я,но в данном случае это безразлично, главное не НОЛЬ и единство стиля и подхода).

Но очень желательно, чтобы перед применением всех этих событий и флагов вы прочли родной хелп и получили информацию из первых рук, так сказать.
4 авг 06, 13:48    [2965624]     Ответить | Цитировать Сообщить модератору
 Re: Имитация триггера перед обновлением  [new]
antipod
Member

Откуда:
Сообщений: 376
надеюсь понял
спасибо
4 авг 06, 13:56    [2965678]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить