Green-sell.info

Новые технологии
319 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как вычислить возраст в access

Как вычислить возраст в access

Вычисления в запросах с использованием стандартных функций

Освоить средства Конструктора запросов для организации вычислений с использованием данных базы.

Ознакомиться с набором встроенных функций Access.

Изучить инструментальное средство Access Построитель выражений.

Научиться использовать встроенные функции Access и средства Построителя выражений для получения вычисляемых полей в запросах.

Даны таблицы — “Студенты” и “Преподаватели”, созданные в лабораторных работах №1 и №2.

Вычислить возраст студента.

Вычислить возраст преподавателя.

Вычислить стаж работы преподавателя в организации (в годах).

Для вычисления возраста использовать поле “Дата рождения”, а для вычисления стажа — поле “Дата приема”. Вывести на экран списки фамилий преподавателей и студентов с указанием возраста (для пп.1 и 2), и списки преподавателей с указанием стажа (для п.3).

Рекомендации к выполнению работы

Для выполнения п.1 нужно выполнить следующие действия:

Перейти в окне БД на вкладку .

Щелкнуть мышью на кнопке Создать.

Выбрать средство Конструктор.

В диалоговом окне выбрать таблицу «Студенты».

Щелкнуть мышью на кнопке Добавить , затем на кнопке Закрыть .

Перенести в таблицу QBE все поля таблицы «Студенты».

Щелкнуть мышью на свободном поле таблицы QBE и вызвать правой кнопкой мыши контекстное меню.

Выполнить команду Построить и перейти в окно Построителя выражений.

В наборе объектов Построителя выражений найти и открыть папку “Встроенные функции” и вывести на экран функцию DateDiff, которая подсчитывает временной интервал между двумя датами.

Сформировать набор параметров для функции DateDiff:

1-й параметр — константа “yyyy” — указывает, что интервал будет измеряться в годах;

2-й параметр “Дата рождения” — выбирается из набора значений полей таблицы «Студенты» средствами Построителя выражений и выводится в набор параметров DateDiff (щелчком мыши на клавише );

3-й параметр “Текущая дата” определяется с использованием стандартной функции Date, которая выбирается из набора встроенных функций Access и переносится в набор параметров.

Обращение к функции DateDiff должно быть записано в поле QBE в следующем формате:

DateDiff (“yyyy”;[Студенты]![Дата рождения];Date())

Заменить текст “Выражение1:”, который выводится в поле QBE перед именем функции DateDiff на текст “Возраст:”

Запустить запрос на выполнение. На экране в списке сведений о студентах появилось новое поле “Возраст”.

Сохранить запрос под именем “Вычисление возраста студента”.

Для выполнения п.2 нужно вместо таблицы “Студенты” использовать таблицу “Преподаватели”. Сохранить запрос под именем “Вычисление возраста преподавателя”.

Для выполнения п.3 нужно использовать таблицу “Преподаватели” и в функции DateDiff заменить 2-й параметр на “Дату приема”. Задать имя нового поля “Стаж работы”. Сохранить запрос под именем “Вычисление стажа преподавателя”.

Содержание

Читать: Аннотация
Читать: Введение
Читать: Начальные сведения по работе с субд access
Читать: Лабораторная работа №1
Читать: Лабораторная работа №2
Читать: Лабораторная работа №3
Читать: Лабораторная работа №4
Читать: Лабораторная работа №5
Читать: Лабораторная работа №6
Читать: Лабораторная работа №7
Читать: Лабораторная работа №8
Читать: Лабораторная работа №9
Читать: Лабораторная работа №10
Читать: Лабораторная работа №11
Читать: Лабораторная работа №12
Читать: Лабораторная работа №13
Читать: Лабораторная работа №14
Читать: Лабораторная работа №15
Читать: Лабораторная работа №16
Читать: Лабораторная работа №17
Читать: Лабораторная работа №18
Читать: Лабораторная работа №19
Читать: Лабораторная работа №20
Читать: Приложение. основные понятия баз данных

Как посчитать возраст в базе данных Access

Просмотров: 12 346

04 октября 2017

аннетт шмидт

Конченный , мог хоть оставить в описании команду :В Но спасибо за видос 😉

Аліна Антошик

а что делать если мне нужна не текущая дата? а например, 01.09.2018?

Соня Ковалёва

Спасибо за помощь! 🙂

Олег Демин

Можно ли таким же способом вычислить месяц и день?

Torpedo ZIL

Здравствуйте! Посмотрел видео — спасибо автору — отличная формула для вычисления возраста. Теперь пытаюсь её применить у себя в базе данных access. У меня возник вот какой вопрос о том, что мне совершенно непонятно. Вот у меня есть Ваша формула. Получается в запросе она работает. Но что мне дальше делать? Когда я открываю форму таблицы, где у меня указаны сотрудники, там есть поля — дата рождения и возраст. Как при открытии формы сразу видеть возраст сотрудника?

Наталья Пивовар

Отличный скилл. В который раз перелопачивание интернета меркнет по сравнению с лаконичным изложением материала у Вас. Спасибо!!

Валерий Ефремов

Спасибо! Всё очень понятно!

Хэнли

Алексей

Sandra S

Не понимаю. Формулу ввожу правильно (все глаза просмотрела), но пишет «пропущен операнд или оператор. » Что могло пойти не так?

Kaisar Berdishaev

Добрый день. Сделали все как в вашем видео. Однако, обнаружилась ошибка, способ который вы показали работает во всех случаях, кроме дня рождения. Например, если у Дукалиса день рождения сегодня, формула показывает возраст на 1 год меньше, а завтра показывает правильно. Есть ли еще способы уточнить эту формулу?

Андрей Никaтинов

Как можно сгруппировать данные по годам с разбивкой по 5 лет. Например все в возрасте от 20 до 25 и так далее. У меня все получилось все отлично спасибо очень интересно.

Станислав Платонов

Здравствуйте! Ввожу все так как показано в Вашем видео в итоге пишет: «Ошибка синтаксиса во введенном выражении. Задано значение для операции без оператора.» Что я делаю не так?

Читать еще:  Объединение двух таблиц в access

Фредерика Морган

А у меня в форме запроса возраст считается. А в самой таблице в колонке «возраст» изменений не происходит. И сама колонка «возраст» числовая. А если я правильно поняла, то она должна быть вычисляемой. Но тогда там формулу какую-то просят. Что не так?

Александр Шалагин

Так можно же попроще немного. Я просто пишу в строке выражение: «Возраст: Int((Date()-[Дата рождения])/365)». В построителе можно запутаться, если впервые туда забежал) главное знать нужные функции

MIK MIKLS

+MIK MIKLS если 1 выражение больше второго, то получаем -1 (логическое да) если не выполняется то 0 (логическое нет).
Я проверил все сходиться, только в уроке нет объяснений почему так получается, после сравнения, вся суть формулы, в поле сравнение. Получается что в результате применения оператора сравнения > мы в любом случае получаем или истину -1 или ложь, 0, даже если сравниваем текстовые константы (как числа) возвращенные от функций Format, я этого не знал, но все равно респект, эта формула короче чем у Специалиста.

MIK MIKLS

Этот урок я не понял, какую роль в вычислении играет знак > Format(Date()»mm dd»))? Сначала определилась разница в годах, потом к ней добавили число от первого формата, но почему знак больше ? Могли бы вы выкладывать файл Access, пж-ста.

I. Выполнить запросы на выборку

Создание запросов в MS Access

Откройте базу данных, которую вы создавали на прошлом занятии.

Перейдите на вкладку «Запросы»

Запросы удобно создавать в режиме конструктора.

После выбора «Создание запроса в режиме конструктора», необходимо добавить ОБЕ таблицы базы данных.

Запросы на выборку

Рассмотрим следующие ПРИМЕРЫ.

ПРИМЕР 1. Пусть нам необходимо найти пациентов мужского пола, с диагнозами «колит» или «гастрит» в возрасте от 20 до 40 лет.

Поля, которые нам понадобятся для осуществления данного запроса на выборку:

ФИО пациента, Пол, Возраст, Диагноз.

Необходимо мышкой перетащить эти поля в строку «Поле» из таблиц.

В строке «Имя таблицы» автоматически будет указано, из какой таблицы взято поле

Условия, по которым осуществляется выборка из базы данных, записываются в строке «Условия отбора».

Так как нужны пациенты мужского пола, следовательно, в столбце «Пол» в строке «Условие отбора» необходимо указать признак мужского пола в нашей таблице — букву М.

Кавычки Access ставит автоматически для полей, имеющих текстовый тип данных.

Условие для возраста имеет следующий вид (пересечение параметров):

Т.е. пациенту должно быть от 20 лет до 40 включительно (>=20 и

Для Возраста условие отбора будет 42 .

СОЭ в норме означает промежуток от минимально нормального уровня СОЭ до максимально нормального (2-15 для женщин и 2-10 для мужчин).

После определенной даты означает «больше» даты, т.е. >25/06/2009 (Access автоматически поставит >#25/06/2009#).

В итоге, окно запроса имеет следующий вид:

Запрос с параметром

Применяется для осуществления поиска записи в таблице по определенному условию.

ПРИМЕР 3. Осуществить возможность поиска по полу.

Требуемые поля: ФИО пациента, Пол.

Под полом в строке «Условие отбора» задается оператор LIKE[Введите Имя поля]. Под Именем поля подразумевается поле, по которому осуществляется отбор.

После открытия окна запроса появится окно, в которое вводят необходимые данные.

Если ввести «м», то Access отобразит пациентов мужского пола, а если «ж», то, соответственно, женского.

Запрос с вычислением

Запрос, позволяющий создать новый столбец в базе данных, который является результатом вычислений данных из столбцов, уже имеющихся в базе данных.

Сначала нужно вынести в запрос все поля, которые участвуют в вычислениях. Затем в первом пустом столбце, в строке «Поле» задается имя нового столбца, после ставится ДВОЕТОЧИЕ. Затем в отдельных квадратных скобках указываются имена столбцов, участвующие в вычислениях, между скобками ставятся математические связки. Например:

Имя нового столбца: ([столбец1]+[столбец2])/[столбец3]+12

ПРИМЕР 4. Рассчитать Индекс массы тела ( ИМТ=(вес*10000)/(рост,см) 2 ) для пациентов женского пола.

Нужные поля: ФИО пациента, Пол, Рост, Вес.

Окно запроса должно иметь такой вид:

При открытии запроса будут отображены пациенты женского пола и появится дополнительный столбец ИМТ.

I. Выполнить запросы на выборку

1) Выбрать всех пациентов, поступивших после определенной даты (задать самостоятельно)

2) Выбрать всех пациентов-мужчин с определенным диагнозом (задать самостоятельно)

3) Выбрать всех пациентов-женщин, рост >150, вес >50

4) Выбрать всех пациентов с нормальной температурой тела.

5) Выбрать всех пациентов с нормальным содержанием гемоглобина, повышенным уровнем СОЭ, поступивших в 2009 году.

6) Выбрать всех пациентов с диагнозом «панкреатит» или «гепатит», с уровнем лейкоцитов вне нормы.

Как посчитать возраст в базе данных Access

Просмотров: 12 346

04 октября 2017

аннетт шмидт

Конченный , мог хоть оставить в описании команду :В Но спасибо за видос 😉

Аліна Антошик

а что делать если мне нужна не текущая дата? а например, 01.09.2018?

Соня Ковалёва

Спасибо за помощь! 🙂

Олег Демин

Можно ли таким же способом вычислить месяц и день?

Torpedo ZIL

Здравствуйте! Посмотрел видео — спасибо автору — отличная формула для вычисления возраста. Теперь пытаюсь её применить у себя в базе данных access. У меня возник вот какой вопрос о том, что мне совершенно непонятно. Вот у меня есть Ваша формула. Получается в запросе она работает. Но что мне дальше делать? Когда я открываю форму таблицы, где у меня указаны сотрудники, там есть поля — дата рождения и возраст. Как при открытии формы сразу видеть возраст сотрудника?

Читать еще:  Как сделать подчиненную форму в access

Наталья Пивовар

Отличный скилл. В который раз перелопачивание интернета меркнет по сравнению с лаконичным изложением материала у Вас. Спасибо!!

Валерий Ефремов

Спасибо! Всё очень понятно!

Хэнли

Алексей

Sandra S

Не понимаю. Формулу ввожу правильно (все глаза просмотрела), но пишет «пропущен операнд или оператор. » Что могло пойти не так?

Kaisar Berdishaev

Добрый день. Сделали все как в вашем видео. Однако, обнаружилась ошибка, способ который вы показали работает во всех случаях, кроме дня рождения. Например, если у Дукалиса день рождения сегодня, формула показывает возраст на 1 год меньше, а завтра показывает правильно. Есть ли еще способы уточнить эту формулу?

Андрей Никaтинов

Как можно сгруппировать данные по годам с разбивкой по 5 лет. Например все в возрасте от 20 до 25 и так далее. У меня все получилось все отлично спасибо очень интересно.

Станислав Платонов

Здравствуйте! Ввожу все так как показано в Вашем видео в итоге пишет: «Ошибка синтаксиса во введенном выражении. Задано значение для операции без оператора.» Что я делаю не так?

Фредерика Морган

А у меня в форме запроса возраст считается. А в самой таблице в колонке «возраст» изменений не происходит. И сама колонка «возраст» числовая. А если я правильно поняла, то она должна быть вычисляемой. Но тогда там формулу какую-то просят. Что не так?

Александр Шалагин

Так можно же попроще немного. Я просто пишу в строке выражение: «Возраст: Int((Date()-[Дата рождения])/365)». В построителе можно запутаться, если впервые туда забежал) главное знать нужные функции

MIK MIKLS

+MIK MIKLS если 1 выражение больше второго, то получаем -1 (логическое да) если не выполняется то 0 (логическое нет).
Я проверил все сходиться, только в уроке нет объяснений почему так получается, после сравнения, вся суть формулы, в поле сравнение. Получается что в результате применения оператора сравнения > мы в любом случае получаем или истину -1 или ложь, 0, даже если сравниваем текстовые константы (как числа) возвращенные от функций Format, я этого не знал, но все равно респект, эта формула короче чем у Специалиста.

MIK MIKLS

Этот урок я не понял, какую роль в вычислении играет знак > Format(Date()»mm dd»))? Сначала определилась разница в годах, потом к ней добавили число от первого формата, но почему знак больше ? Могли бы вы выкладывать файл Access, пж-ста.

UA-plus

Показувати елементи керування програвачем

  • Если вы не знаете, как посчитать возраст в базе данных Microsoft Access, то посмотрите это видео.
    На простом запросе мы разберем как узнать возраст человека, если известна дата его рождения.
    Убедитесь, что программа Microsoft Access очень проста и не требует дополнительных знаний в освоении.
    ———————————————-
    Чаевые на развитие канала:
    www.donationalerts.ru/r/accesshelpru
    Money.Yandex — 41001776448918
    ———————————————-
    Хотите самостоятельно научиться создавать обучающие скринкасты в программе Camtasia Studia 9? — ua-plus.com/cEHp6AiIVCN-ZY7GPpgPkJg
    ———————————————-
    Полезные ссылки:
    Функция Format — ua-plus.com/video/ZpjS1TNASD4
    Функция DateDiff — ua-plus.com/video/hxRZ_PYRHdw
    ———————————————-
    Готовая база данных Access Приходный кассовый ордер — ua-plus.com/video/JmIgS_KkW98
    Готовые базы Access — 7108.ru/g0203
    ———————————————-
    Ищите нас вконтакте: access_community и facebook: msaccess.community/
    Остались вопросы? Пишите в комментариях под видео

КОМЕНТАРІ • 40

Конченный , мог хоть оставить в описании команду :В Но спасибо за видос 😉

Т.е. Вам на столько лень посмотреть

Т.е. Вам на столько лень посмотреть

а что делать если мне нужна не текущая дата? а например, 01.09.2018?

@Аліна Антошик думаю да, а вообще не видя запроса, трудно сказать

@Аліна Антошик если вам возраст посчитать то из 1 даты надо вычесть 2 дату

@Уроки по Microsoft Access Дата : 01.09.2018?
И все?

@Аліна Антошик какую

@Аліна Антошик в пустом прое запроса, в заголовке. Така называемое вычисляемое поле.

@Аліна Антошик думаю да, а вообще не видя запроса, трудно сказать

@Аліна Антошик если вам возраст посчитать то из 1 даты надо вычесть 2 дату

@Уроки по Microsoft Access Дата : 01.09.2018?
И все?

@Аліна Антошик какую

@Аліна Антошик в пустом прое запроса, в заголовке. Така называемое вычисляемое поле.

Спасибо за помощь! 🙂

Можно ли таким же способом вычислить месяц и день?

Здравствуйте! Посмотрел видео — спасибо автору — отличная формула для вычисления возраста. Теперь пытаюсь её применить у себя в базе данных access. У меня возник вот какой вопрос о том, что мне совершенно непонятно. Вот у меня есть Ваша формула. Получается в запросе она работает. Но что мне дальше делать? Когда я открываю форму таблицы, где у меня указаны сотрудники, там есть поля — дата рождения и возраст. Как при открытии формы сразу видеть возраст сотрудника?

@Уроки по Microsoft Access Спасибо большое, пробую.

Сделайте форму на базе запроса, где считается возраст

@Уроки по Microsoft Access Спасибо большое, пробую.

Читать еще:  Have offline access

Сделайте форму на базе запроса, где считается возраст

Отличный скилл. В который раз перелопачивание интернета меркнет по сравнению с лаконичным изложением материала у Вас. Спасибо!!

Спасибо! Всё очень понятно!

Спасибо, что смотрели!

Спасибо, что смотрели!

Не понимаю. Формулу ввожу правильно (все глаза просмотрела), но пишет «пропущен операнд или оператор. » Что могло пойти не так?

Смотря что за формула?

Смотря что за формула?

Добрый день. Сделали все как в вашем видео. Однако, обнаружилась ошибка, способ который вы показали работает во всех случаях, кроме дня рождения. Например, если у Дукалиса день рождения сегодня, формула показывает возраст на 1 год меньше, а завтра показывает правильно. Есть ли еще способы уточнить эту формулу?

Заработало, пришлось запрос снести и заново написать, что то аксесс устал все мои хотелки выполнять:-). Спасибо за грамотные видеоуроки!

Заработало, пришлось запрос снести и заново написать, что то аксесс устал все мои хотелки выполнять:-). Спасибо за грамотные видеоуроки!

Как можно сгруппировать данные по годам с разбивкой по 5 лет. Например все в возрасте от 20 до 25 и так далее. У меня все получилось все отлично спасибо очень интересно.

группировку делать в мастере отчета. вот как тут на 3:40
ua-plus.com/video/GNp0noevgvUm40s
обратите внимание в левом нижнем углу есть кнопка «группировка. «

Где делать группировку в запросах или таблице? У меня одна таблица в которой занесены данные на людей ФИО, дата рождения, прописка, и т. Д. И есть ещё разные запросы и группировки по признакам отдельных колонок в этой таблице. Я сделал в запросах отдельные колонки по каждой группе и ввёл формулы для подсчета возраста от текущей даты, то что есть в Вашем уроке. Потом сделал группировку по каждой колонке, итоги получились правильные, но с минусом. Спасибо за хорошие уроки.

Добрый день. В мастере делайте группировку например по полю возраст. Далее где группировка внизу есть кнопка группиповка. Там можно задать интервалы тренировки

группировку делать в мастере отчета. вот как тут на 3:40
ua-plus.com/video/GNp0noevgvUm40s
обратите внимание в левом нижнем углу есть кнопка «группировка. «

Где делать группировку в запросах или таблице? У меня одна таблица в которой занесены данные на людей ФИО, дата рождения, прописка, и т. Д. И есть ещё разные запросы и группировки по признакам отдельных колонок в этой таблице. Я сделал в запросах отдельные колонки по каждой группе и ввёл формулы для подсчета возраста от текущей даты, то что есть в Вашем уроке. Потом сделал группировку по каждой колонке, итоги получились правильные, но с минусом. Спасибо за хорошие уроки.

Добрый день. В мастере делайте группировку например по полю возраст. Далее где группировка внизу есть кнопка группиповка. Там можно задать интервалы тренировки

Здравствуйте! Ввожу все так как показано в Вашем видео в итоге пишет: «Ошибка синтаксиса во введенном выражении. Задано значение для операции без оператора.» Что я делаю не так?

Версия 10. Правда, нашел еще такую формулу:
Вік: =IIf((Month(Now())>Month([Дата народження]) Or (Month(Now())=Month([Дата народження])) And (Day(Now())>Day([Дата народження]) Or Day(Now())=Day([Дата народження])));Year(Now())-Year([Дата народження]);Year(Now())-Year([Дата народження])-1)
Вроде как работает!

Какая версия аксес?

Версия 10. Правда, нашел еще такую формулу:
Вік: =IIf((Month(Now())>Month([Дата народження]) Or (Month(Now())=Month([Дата народження])) And (Day(Now())>Day([Дата народження]) Or Day(Now())=Day([Дата народження])));Year(Now())-Year([Дата народження]);Year(Now())-Year([Дата народження])-1)
Вроде как работает!

Какая версия аксес?

А у меня в форме запроса возраст считается. А в самой таблице в колонке «возраст» изменений не происходит. И сама колонка «возраст» числовая. А если я правильно поняла, то она должна быть вычисляемой. Но тогда там формулу какую-то просят. Что не так?

+Фредерика Морган в таблице вычисления не делаются, только в запросе. Повторите как в уроке

+Фредерика Морган в таблице вычисления не делаются, только в запросе. Повторите как в уроке

Так можно же попроще немного. Я просто пишу в строке выражение: «Возраст: Int((Date()-[Дата рождения])/365)». В построителе можно запутаться, если впервые туда забежал) главное знать нужные функции

+Александр Шалагин до дня считает?

+Александр Шалагин до дня считает?

+MIK MIKLS если 1 выражение больше второго, то получаем -1 (логическое да) если не выполняется то 0 (логическое нет).
Я проверил все сходиться, только в уроке нет объяснений почему так получается, после сравнения, вся суть формулы, в поле сравнение. Получается что в результате применения оператора сравнения > мы в любом случае получаем или истину -1 или ложь, 0, даже если сравниваем текстовые константы (как числа) возвращенные от функций Format, я этого не знал, но все равно респект, эта формула короче чем у Специалиста.

Этот урок я не понял, какую роль в вычислении играет знак > Format(Date()»mm dd»))? Сначала определилась разница в годах, потом к ней добавили число от первого формата, но почему знак больше ? Могли бы вы выкладывать файл Access, пж-ста.

+MIK MIKLS если 1 выражение больше второго, то получаем -1 (логическое да) если не выполняется то 0 (логическое нет)

+MIK MIKLS если 1 выражение больше второго, то получаем -1 (логическое да) если не выполняется то 0 (логическое нет)

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector