Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие на значение / 12 сообщений из 12, страница 1 из 1
22.09.2019, 21:17
    #39865306
MSerg1968
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
Здравствуйте профессионалы и просто неравнодушные люди! Помогите пожалуйста решить задачку
Начальные условия

Имеется форма ленточного типа с текстбоксами, один из которых нужно закрыть условием на значение, проще говоря, чтобы пользователь не ленился и не пропускал данный текстбокс (запись в таблице).
Вариант назначить данному полю атрибут обязательного напрямую в таблице пока не рассматривается, работаем из формы.
Назначаем условие на значение, все вроде хорошо, но!
Нюанс - условие на значение не срабатывает, пока пользователь не вобьет любое значение! То есть, получение фокуса данным текстбоксом даже имеющим значение Null не запускает проверку на значение и пустое поле можно просто "протабить". Более того, хотел применить хитрость, на событие получения фокуса повесил проверку и, в случае Null, вписываю некое невероятное значение, ставлю проверку на него, но оказывается, что вброс значения в поле также не запускает проверку на значение.
Выходит, что проверка не значение работает только тогда, когда пользователь меняет значение с клавиатуры!

Главное, что все события работают нормально, то есть "получение фокуса" например видит, что в поле Null, но при этом я не могу даже как-то зациклить этот фокус, например не дать ему уйти с этого поля, вообще никакое событие не может предотвратить уход с поля.

Коллеги, если знаете, подскажите, как или спровоцировать проверку или зациклить фокус на поле что ли.
...
Рейтинг: 0 / 0
22.09.2019, 21:45
    #39865313
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
Один из вариантов, например:
...
Рейтинг: 0 / 0
22.09.2019, 21:51
    #39865314
MSerg1968
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
Именно, об этом я и говорю, я же ровно так и сделал в свойствах текстбокса. Я и рассказываю, что проверка этого условия запускается только если менять значение с клавиатуры, ни вброс ни получение фокуса не провоцируют эту проверку, в том и засада. Вопрос как эту засаду обойти
...
Рейтинг: 0 / 0
22.09.2019, 21:58
    #39865316
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
MSerg1968..., ни вброс ...
Это что за экшн такой?
MSerg1968...ни получение фокуса ...
На получение фокуса и не должен.
...
Рейтинг: 0 / 0
22.09.2019, 22:18
    #39865320
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
MSerg1968,

Проверяйте поле на IsNull при событии Exit (Выход).
Там и Cancel есть.
...
Рейтинг: 0 / 0
22.09.2019, 22:30
    #39865322
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
Да, некоторые нестыковочки присутствуют.
Можно пытаться отрабатывать проверку при получении фокуса другими контролами.
На примере текстбоксов возвращаем фокус в текстбокс "PatternName":
...
Рейтинг: 0 / 0
22.09.2019, 22:35
    #39865323
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
__MichelleПроверяйте поле на IsNull при событии Exit (Выход).
Там и Cancel есть. 21941072
...
Рейтинг: 0 / 0
22.09.2019, 22:55
    #39865327
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
Шаман,
Мне бы такую память...)))
...
Рейтинг: 0 / 0
23.09.2019, 00:14
    #39865345
MSerg1968
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
__Michelle, Шаман

Друзья, спасибо огромное, вы молодцы.
Именно так -
Private Sub Поле_Exit(Cancel As Integer)
If IsNull(Поле) Or Поле = "" Then
MsgBox "Необходимо заполнить Поле"
Cancel = True
End If
End Sub
...
Рейтинг: 0 / 0
23.09.2019, 00:16
    #39865346
MSerg1968
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
Predeclared,
Вброс это мой вульгаризм, означающий присвоение значения полю не с клавиатуры, а командой VBA
...
Рейтинг: 0 / 0
23.09.2019, 01:13
    #39865355
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
MSerg1968__Michelle, Шаман

Друзья, спасибо огромное, вы молодцы.
Именно так -
Private Sub Поле_Exit(Cancel As Integer)
If IsNull(Поле) Or Поле = "" Then
MsgBox "Необходимо заполнить Поле"
Cancel = True
End If
End Sub

Вообще-то, если Вы не заметили, Шаман дал ссылку на мой пост месячной давности с ответом.
О котором я сама успела благополучно забыть.
...
Рейтинг: 0 / 0
23.09.2019, 02:48
    #39865361
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условие на значение
MSerg1968....Вариант назначить данному полю атрибут обязательного напрямую в таблице пока не рассматривается, работаем из формы....А почему бы не рассмотреть?
После того как юзер пару раз (а может и за один раз научится-достаточно на форме отметить это поле(я),например звездочкой, и сделать сноску "поля отмеченные * обязательны к заполнению") не сможет уйти с записи он станет заполнять это поле-зачем изобретать велосипед? Или сделать как советует Predeclared-просто и со вкусом
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие на значение / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]