Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум Базы данных > Форум MS Access
Восстановить пароль Регистрация

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

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

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

Похожие темы
Тема Раздел Автор Дата
Delphi Проверка даты на условие
date:string date:=IntTostr(Random(27)+1) + '.' + IntTostr(Random(11)+1) + '.' + IntTostr(Random(19)+1990); Это случайная дата нужно провереть ее на условие что она меньше 1 июля но ума не преложу как написать условие
Delphi для начинающих Sofon 01.05.2013 21:18
Delphi условие от текущей даты
помогите составить код по следующему алгоритму: проверяется текущая дата. если дата равна какой либо дате (например - 10 января), то выполняется действие, иначе другое действие. заранее спасибо
Delphi для начинающих dapkopoen 05.01.2013 00:22
MS Access условие на выборку даты
Доброе утро! Совсем запутался: прописываю условие iif в запросе на выборку даты. Необходимо, чтобы при вводе даты в запросе отображались все даты >= вводимой (например), а если поле пустое - то отображаются все даты. Запрос почему-то не хочет воспринимать знаки >,<. Если просто приравнять к...
MS Access Ffrost 10.11.2011 12:39
Delphi БД Условие отбора для даты
В СУБД Access создана база. В Delphi делаю поиск для отбора данных в таблице. Все работает кроме поиска по дате. Пишет "Несоответствие типов данных в выражении условия отбора". Подскажите что неправильно, и как сделать правильно? //задаем условие для поля "datar" (от) if edit4.text<>'' then ...
Delphi и базы данных TYMON 12.10.2011 10:10
MS Access Условие на значение не работает (Даты)
Есть таблица "тПутевки", в ней есть поля "Дата_начала" и "Дата_окончания". Нужно, чтобы в "Дата_окончания" нельзя было ввести, например, год меньший чем в "Дата_начала" и наоборот. Пробовал в условие назначение писать "Дата_окончания">="Дата_начала", но никакой реакции. Что я делаю неправильно?...
MS Access H&F 14.06.2011 08:53
Опции темы

Текущее время: 22:49. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.