Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
 
aka_messiah
Новичок
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 4
20.11.2012, 20:17     Условие на значение (Даты)
  #1
Доброго времени!
Есть таблица "Студенты" с полем "ДатаРождения" (дата в кратком формате). Студентами считаются лица не моложе 10 и не старше 40 лет.
Надо сформировать "Условие на значение".
Пробовал ставить:

DateDiff("yyyy"; "ДатаРождения"; Date()) Between 10 And 40
и
(Year(Date())-Year("ДатаРождения")) Between 10 And 40 (Конечно, приближенно, но все таки считать должен был)

но в обоих случаях access "попросил" упростить выражение...
Что не так делаю? Если все правильно, то как упростить? Есть другие варианты?
Лучшие ответы (1)
AdAgent
Объявления
20.11.2012, 20:17
mobile
Форумчанин
7446 / 4237 / 362
Регистрация: 28.04.2012
Сообщений: 5,208
20.11.2012, 20:32
  #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Параметрами датных функций являются не строки, а даты. Соответственно:
DateDiff("yyyy"; [ДатаРождения]; Date()) Between 10 And 40
и
(Year(Date())-Year([ДатаРождения])) Between 10 And 40
minob
Форумчанин
3486 / 1060 / 93
Регистрация: 13.03.2011
Сообщений: 1,501
20.11.2012, 21:03     Условие на значение (Даты)
  #3
Цитата Сообщение от aka_messiah Посмотреть сообщение
...
Конечно, приближенно
...
Так будет точнее
Код Visual Basic
1
Date() Between DateAdd("yyyy",10,[ДатаРождения]) And DateAdd("yyyy",40,[ДатаРождения])
Если выражение применяется в режиме конструктора, то необходимо заменить запятые, разделяющие параметры функций, на точки с запятой.
Yandex
Объявления
20.11.2012, 21:03
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 22:08. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.