|
|
|
| Вот на получение фокуса поля [Поле] поставил. В компе ввел 11.08.09 и если там [Дата] =08.08.09 то блокировать должно. А оно не блокируется.
If Date > Forms![Форма1]![Дата] + 2 Then
GoTo L
Else
Me.Поле.Locked = True
L:
End If
Понятно что в условии If Date > Forms![Форма1]![Дата] + 2 глюк.
Пробовал и так: If Forms![Форма1]![Дата] <=Date-2
Зашился с условиями блин. <= >= Должно в течение 2 дней от зафиксированной даты не блокировать а далее - поезд ушел.
Не вычисляет видать. ЧД? | |
|
| |
|
|
|
| Блин! Гоблинулся совсем. Все! Решил.
If Date < Forms![Форма1]![Дата] + 2 Then
GoTo L
Else
Me.Поле.Locked = True
L:
End If | |
|
| |
|
|
|
|
Me.Поле.Locked =Date - Forms![Форма1]![Дата] > 2
|
| |
|
| |
|
|
|
| Гоблин - а разжуйте пожалуйста зачем в вашей конструкции оператор безусловного перехода (GoTo)...... | |
|
| |
|
|
|
| Наверное он просто ошибси
If Date >=Forms![Форма1]![Дата] + 2 Then Me.Поле.Locked = True
|
| |
|
| |
|
|
|
| Во блин.
Лукас как всегда в одну строчку. Предельно краток. Спасибо.
Собственно всегда применял этот goto для перескока того, что надо перескочить. Так по моей логике вроде логичнее.
Час, по такой структуре тоже пробовал. Почему-то не работало. Сразу блокировало.
Да и вообще замечаю, если ставить в if просто = то на этом все и заканчивается. Далее функция пахать не хочет. Вот и вышел на goto а с тех пор так и тянется. (Научный тык помогал, пока на форрум не попал. )
PS И все же формула Лукаса не поддается логике Гоблина. Как это может работать? Но работает. | |
|
| |
|
|
|
| 1. Вычисляется разность: Date - Forms![Форма1]![Дата], допустим ответ=3
2. Сравнивается: 3 > 2, результат = True (Истина).
3. Присваивается значение свойству: Me.Поле.Locked =True | |
|
| |
|
|
|
| Это все понятно. Только я-то всегда через IF и далее по-строчно. А в одну и без if - это слишком оригинально. С программированием у меня не очень. | |
|
| |