0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
1 | |
По дате рождения человека определить его возраст16.02.2014, 15:53. Показов 18088. Ответов 28
Метки нет (Все метки)
Подскажите пожалуйста как в MS access в таблице сделать так чтобы при заполнении поля "год рождения" высчитывался возраст человека в поле "возраст".?
и как поставить пароль на редактирование и отдельно на добавление данных?
0
|
16.02.2014, 15:53 | |
Ответы с готовыми решениями:
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 |
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 минут почему то не работает(((((((
0
|
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
|
17486 / 7248 / 1651
Регистрация: 21.06.2012
Сообщений: 13,863
|
|
16.02.2014, 18:05 | 9 |
Сообщение было отмечено Boxer1nLane как решение
Решение
Вам уже писали, что возраст вычисляют, а не хранят в таблице. Смотрите Запрос1 во вложении.
2
|
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 18
|
|
16.02.2014, 18:10 [ТС] | 10 |
0
|
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
16.02.2014, 19:25 | 11 |
Можно и хранить в БД. Только каждый день запускать пересчет поля нужно будет
Но это не хороший способ
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 |
Вот вариант с точным расчетом возраста на текущую дату
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 | |||||
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 |
0
|
16.02.2014, 19:55 | |
16.02.2014, 19:55 | |
Помогаю со студенческими работами здесь
20
Определить возраст пользователя по дате рождения и текущей дате По дате рождения определить возраст По указанному году рождения определить возраст человека Определить возраст человека, зная даты рождения и сегодняшнюю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |