0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
1

По дате рождения человека определить его возраст

16.02.2014, 15:53. Показов 18088. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста как в MS access в таблице сделать так чтобы при заполнении поля "год рождения" высчитывался возраст человека в поле "возраст".?
и как поставить пароль на редактирование и отдельно на добавление данных?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2014, 15:53
Ответы с готовыми решениями:

Как вычислить возраст по дате рождения
Здравствуйте, это снова я :curtsy: подскажите пож-ста, у меня нарисовалась проблемка, есть две...

Определить возраст человека по дате рождения
помогите как определить возраст человека есть такая функция function CalculateAge(Birthday,...

Известны год и номер месяца рождения человека, определить его возраст
Известны год и номер месяца рождения человека, а также год и номер месяца сегодняшнего дня (январь...

Известны год и номер месяца рождения человека, определить возраст человека
Известны год и номер месяца рождения человека, а также год и номер месяца сегодняшнего дня (январь...

28
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
16.02.2014, 16:03 2
В таблице никакие расчеты не производятся, только через функцию.
0
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
16.02.2014, 16:04  [ТС] 3
Цитата Сообщение от Rube Посмотреть сообщение
В таблице никакие расчеты не производятся, только через функцию.
а как через функцию реализовать?
0
9 / 9 / 1
Регистрация: 07.02.2013
Сообщений: 48
16.02.2014, 16:11 4
Boxer1nLane, например , дата рождения хранится в поле Datebirth. То для поля возраст в конструкторе в свойстве "выражение" пропиши что-то типа IIf(DateSerial(Year(); Month([Datebirth]); Day([Datebirth]))<= Date(); Year()-Year([Datebirth]);
Year()-Year([Datebirth])-1) и всё
1
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
16.02.2014, 17:24  [ТС] 5
пишет неправильное число аргументов

Добавлено через 47 минут
Цитата Сообщение от kknekk Посмотреть сообщение
Boxer1nLane, например , дата рождения хранится в поле Datebirth. То для поля возраст в конструкторе в свойстве "выражение" пропиши что-то типа IIf(DateSerial(Year(); Month([Datebirth]); Day([Datebirth]))<= Date(); Year()-Year([Datebirth]);
Year()-Year([Datebirth])-1) и всё
почему то не работает(((((((
0
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
16.02.2014, 17:57  [ТС] 6
Вечер добрый.
Я только начинаю работать с Access.
Помогите с составлением функции. Нужно что бы при вводе даты рождения клиента, в поле "дата рождения", поле "возраст" отображало текущий возраст клиента.
428.rar
0
Эксперт MS Access
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
16.02.2014, 18:03 7
Boxer1nLane, вам возраст нужен в каком виде: полных лет или конкретно лет, месяцев и дней?
0
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
16.02.2014, 18:04  [ТС] 8
полных лет
0
Эксперт MS Access
17486 / 7248 / 1651
Регистрация: 21.06.2012
Сообщений: 13,863
16.02.2014, 18:05 9
Лучший ответ Сообщение было отмечено Boxer1nLane как решение

Решение

Вам уже писали, что возраст вычисляют, а не хранят в таблице. Смотрите Запрос1 во вложении.
Вложения
Тип файла: 7z 428.7z (26.2 Кб, 142 просмотров)
2
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
16.02.2014, 18:10  [ТС] 10
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Вам уже писали, что возраст вычисляют, а не хранят в таблице. Смотрите Запрос1 во вложении.
так никто не сказал что запрос нужен
0
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
16.02.2014, 19:25 11
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Вам уже писали, что возраст вычисляют, а не хранят в таблице
Можно и хранить в БД. Только каждый день запускать пересчет поля нужно будет
Но это не хороший способ
0
9 / 9 / 1
Регистрация: 07.02.2013
Сообщений: 48
16.02.2014, 19:32 12
ltv_1953, DateDiff("yyyy";[Дата рождения]; Date()) - вычисляется количество лет, которое уже исполнилось в текущем году или только исполнится в текущем году. То есть, человек родившийся например 20.11.1960 не может на текущую дату иметь возраст 54 (как у Вас в запросе), так как 54 ему будет лишь 20.11.2014 года. Потому правильней и корректней будет: IIf(DateSerial(Year(Date());Month([Дата рождения]); Day([Дата рождения]))<=Date();Year(Date())-Year([Дата рождения]);Year(Date())-Year([Дата рождения])-1)
1
9 / 9 / 1
Регистрация: 07.02.2013
Сообщений: 48
16.02.2014, 19:36 13
Вот вариант с точным расчетом возраста на текущую дату
Вложения
Тип файла: rar 428.rar (29.8 Кб, 104 просмотров)
1
8859 / 5904 / 585
Регистрация: 27.03.2013
Сообщений: 19,567
16.02.2014, 19:39 14
Попробуйте так, у меня всегда хорошо работает, единственное измените ИмяПоляСДатой рождения на СвоеИмяПоля.
=IIf((Month(Now())>Month([ДатаРожденияС]) Or (Month(Now())=Month([ДатаРожденияС])) And (Day(Now())>Day([ДатаРожденияС]) Or Day(Now())=Day([ДатаРожденияС])));Year(Now())-Year([ДатаРожденияС]);Year(Now())-Year([ДатаРожденияС])-1)
2
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
16.02.2014, 19:40 15
kknekk, что за формат? 2010 наверно? Вот что за привычка свыше 2007 выкладывать
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
16.02.2014, 19:41 16
Visual Basic
1
Datediff("yyyy", Datebirth, Date())
1
9 / 9 / 1
Регистрация: 07.02.2013
Сообщений: 48
16.02.2014, 19:43 17
emenem97, что за претензии? я скачал прикрепленный файл в теме, поковырялся там и обратно выложил. было бы mdb прикреплено, то в нем бы ковырялся
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
16.02.2014, 19:45 18
Datediff("yyyy", Datebirth, Date())
Зачем 2 темы то создавать?
0
9 / 9 / 1
Регистрация: 07.02.2013
Сообщений: 48
16.02.2014, 19:47 19
Rube, обрати внимание на пост № 5. Datediff("yyyy", Datebirth, Date()) не совсем правильно считает
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
16.02.2014, 19:55 20
Цитата Сообщение от kknekk Посмотреть сообщение
Rube, обрати внимание на пост № 5. Datediff("yyyy", Datebirth, Date()) не совсем правильно считает
Окай)
Visual Basic
1
int(Datediff("d", Datebirth, Date())/365)
0
16.02.2014, 19:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2014, 19:55
Помогаю со студенческими работами здесь

Определить возраст пользователя по дате рождения и текущей дате
Составить программу, которая запрашивает у пользователя год его рождения и текущий год и выводит...

По дате рождения определить возраст
Доброго дня, я новичок в С++ и на вашем форуме тоже. НЕ получается одолеть эту программу:...

По указанному году рождения определить возраст человека
В том случае, если вычисленное значение окажется меньше 18, то программа выводит на экран сообщение...

Определить возраст человека, зная даты рождения и сегодняшнюю
Известны год и номер рождения человека, а также год и номер месяца сегодняшнего дня. Определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru