Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ограничиваем во времени
 
 автор: Гоблин   (08.08.2009 в 22:40)   личное сообщение
 
 

Вот на получение фокуса поля [Поле] поставил. В компе ввел 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 дней от зафиксированной даты не блокировать а далее - поезд ушел.
Не вычисляет видать. ЧД?

  Ответить  
 
 автор: Гоблин   (08.08.2009 в 22:47)   личное сообщение
 
 

Блин! Гоблинулся совсем. Все! Решил.

If Date < Forms![Форма1]![Дата] + 2 Then
GoTo L
Else
Me.Поле.Locked = True
L:
End If

  Ответить  
 
 автор: Lukas   (08.08.2009 в 22:56)   личное сообщение
 
 


Me.Поле.Locked =Date - Forms![Форма1]![Дата] > 2

  Ответить  
 
 автор: snipe   (09.08.2009 в 06:53)   личное сообщение
 
 

Гоблин - а разжуйте пожалуйста зачем в вашей конструкции оператор безусловного перехода (GoTo)......

  Ответить  
 
 автор: час   (09.08.2009 в 11:32)   личное сообщение
 
 

Наверное он просто ошибси


If Date >=Forms![Форма1]![Дата] + 2 Then Me.Поле.Locked = True

  Ответить  
 
 автор: Гоблин   (09.08.2009 в 17:17)   личное сообщение
 
 

Во блин.
Лукас как всегда в одну строчку. Предельно краток. Спасибо.
Собственно всегда применял этот goto для перескока того, что надо перескочить. Так по моей логике вроде логичнее.
Час, по такой структуре тоже пробовал. Почему-то не работало. Сразу блокировало.
Да и вообще замечаю, если ставить в if просто = то на этом все и заканчивается. Далее функция пахать не хочет. Вот и вышел на goto а с тех пор так и тянется. (Научный тык помогал, пока на форрум не попал. )

PS И все же формула Лукаса не поддается логике Гоблина. Как это может работать? Но работает.

  Ответить  
 
 автор: Lukas   (09.08.2009 в 18:57)   личное сообщение
 
 

1. Вычисляется разность: Date - Forms![Форма1]![Дата], допустим ответ=3
2. Сравнивается: 3 > 2, результат = True (Истина).
3. Присваивается значение свойству: Me.Поле.Locked =True

  Ответить  
 
 автор: Гоблин   (09.08.2009 в 19:36)   личное сообщение
 
 

Это все понятно. Только я-то всегда через IF и далее по-строчно. А в одну и без if - это слишком оригинально. С программированием у меня не очень.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList