Навигация
Использование функций даты/времени
Просмотров: 12 470 |
Комментарии (0)
25 апрель 2011 |

Допустим, нами была создана база данных, содержащая поля, указанные на рис. 4.14, причем поля «Дата экзамена» и «Дата рождения»  имеют «Краткий формат даты», а поля «Время начала экзамена» и  «Время окончания» - «Краткий формат времени».

Создание таблицы базы данных

 

Рис. 4.14. Создание таблицы базы данных

При составлении запросов с полями указанных типов при поиске конкретной даты, ее вводят в «Условие отбора», при этом при запуске запроса появятся ограничивающие значки #, например, при вводе условия = #1.2.06#  появятся все экзамены, приходящиеся на эту дату. Однако, такой вариант работы имеет ограниченные возможности. Если требуется найти всех, кто, допустим, родился в мае, вряд ли это удастся сделать с помощью одного условия. Для создания сложных запросов, связанных с полями указанных типов, используются встроенные функции.

Наиболее популярные функции:

DATE() - возвращает текущую системную дату компьютера в виде 1.7.2006;

DAY([дата]) - возвращает день месяца. Обязательный аргумент [дата] может быть любым значением типа «ДАТА», например, именем поля соответствующего типа или просто произвольной датой.

MONTH([дата]) - возвращает номер месяца;

YEAR([дата])- возвращает год;

WEEKDAY([дата]) - возвращает номер дня недели, причем нумерация дней начинается с воскресенья (№ 1), понедельник - №2, вторник - №3 и т.д.

HOUR([время])- используется для определения часа, соответствующего указанному времени;

MINUTE ([время]) - используется для определения минут, соответствующего указанному времени;

SECOND([время])   - используется для определения секунд, соответствующих указанному времени;

TIME() - возвращает текущее системное время;

NOW() - возвращает текущую дату и время.

Приведем несколько примеров использования функции типа Дата/время.

Пример 1. Для определения количества дней, прошедших со времени экзамена, используется выражение, записанное с помощью Построителя выражений (рис. 4.15).

Вычисляем дни, прошедшие со дня экзамена

 

Рис. 4.15.  Вычисляем дни, прошедшие со дня экзамена

Пример 2. Для определения фамилий тех, кто сдавал экзамен в пятницу WEEKDAY[Дата экзамена]=6 и 13-ого числа DAY[Дата экзамена]=13 используем запрос, конструктор которого приведен на рис. 4.16.

Пятница, 13-ое число

 

Рис. 4.16.  Пятница, 13-ое число

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

Пример 3. Для определения студентов, родившихся в високосные года, создается запрос, приведенный на рис. 4.17.

Поиск високосных лет

 

Рис. 4.17.  Поиск високосных лет

Если потребуется найти всех, кто родился в года, кратные пяти, что изменится в формуле?

Пример 4. Для определения фамилий всех, сдавших экзамены в 2006 году, используют выражение: Year([Экз]![Дата экзамена])=2006, которое вводят в строку «Условие отбора». Для выделения месяца и года из поля применяют выражения:

Месяц: Month([Экз]![Дата экзамена]) Год: Year([Экз]![Дата экзамена]) 

Если необходимо узнать, сколько дней прошло между двумя датами, определяют их разность. Но иногда требуется определить количество месяцев, прошедших между двумя датами, возраст человека в годах, сроки выполнения работы в кварталах. Aссеss предоставляет для этого специальные функции.

Определение разницы между датами производят с помощью  функции DATEDIFF(интервал; начальная дата; конечная дата). На первом месте задается интервал (в чем измеряется разница). Если это год, то используют yyyy, q кварталы; m- месяцы; d- в днях; ww – в  неделях; h – в часах; n – в минутах;          s        - в     секундах.

Возраст1 : DateDiff ("yyyy"; [Экз]![Дата рождения]; [Экз]![Дата экзамена]) - определяет возраст студента на момент сдачи экзамена в годах;

Возраст2: DateDiff("m"; [Экз]![Дата рождения]; [Экз]![Дата экзамена]) - определяет возраст студента на момент сдачи экзамена в месяцах.

Составьте выражение, позволяющее определить стаж работы, если известны дата поступления на работу и дата ухода на пенсию.

Функция  DATEADD(интервал, число, дата) предназначена для добавления или вычитания указанного временного интервала из значения даты.  Например, с помощью этой функции можно вычислить дату, на 30 дней более позднюю, чем текущая, или время, на 45 минут более позднее, чем настоящее.

Для добавления дней к аргументу дата можно задавать временной интервал как день года ("y"), день месяца ("d") или день недели ("w").

Пример 1. Для определения даты, которая была через полтора года после дня рождения в Построителе выражений следует ввести следующую запись:

Дата: DateAdd("m";18;[Экз]![Дата рождения])

Пример 2. Поле «Новая дата» определяет дату через 10 лет после дня рождения, для чего в Построителе выражений вводится следующая запись:

Новая дата: DateAdd("yyyy";10;[Экз]![Дата рождения]).

Пример 3. Для определения всех, пришедших на экзамен до 11 часов и  ушедших не позднее 14, необходимо создать запрос, конструктор и результат выполнения которого приведен на рис. 4.18.

Конструктор запроса и результат выполнения
Рис. 4.18.  Конструктор запроса и результат выполнения

Вернуться назад



Другие новости по теме:

    Друзья сайта
    Календарь

    С 2017 года онлайн казино Вавада работает над улучшением и без того развитого функционала для азартных игроков. Официальный сайт защищен от взлома и вирусов, администрация соблюдает политику конфиденциальности, а для пополнения или вывода денег используются проверенные электронные платежные системы.



    Можно ли получить высшее образование, не потратив денег? Всем известно, что поступить на бесплатное обучение довольно сложно. И если вам это не удалось, то можно существенно сократить свои расходы, выбрав контрактную форму обучения.



    Интернет-технологии – особый вид технологий создания, а также поддержки различного рода информационных ресурсов в сети Интернет. К этим ресурсам относятся форумы, чаты, сайты блоги, энциклопедии, а также электронные библиотеки.



    На сегодняшний день практически каждая компания, организация или фирма имеет свой корпоративный сайт в сети, что позволяет осуществлять различные действия через интернет. Безусловно, для нормального функционирования любого ресурса, он должен быть максимально качественно разработан, дополнен различными полезными деталями и материалами. Информационное наполнение сайтов может быть создано несколькими способами.



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



    Наука является основной движущей силой, которая развивает очень многие сферы в человеческой жизни. Но ученые тоже люди и могут допускать разные ошибки. Я думаю, что не всегда можно доверять науке. Она всегда является спорным вопросом. Некоторые ученые как - бы не от мира сего, их никто и ничто не волнует кроме своей работы,