Как изменять даты с помощью функций и операций в Access

Переводы статьи Переводы статьи
Код статьи: 826766 - Vizualiza?i produsele pentru care se aplic? acest articol.
Данная статья применима к файлам базы данных Microsoft Access (.mdb) или (.accdb), а также к файлам проектов Microsoft Access (.adp).

Средний: изложенный в данной статье, требует наличия базовых знаний по использованию макросов и программированию.
Развернуть все | Свернуть все

Аннотация

В этой статье описаны функции и операции, доступные в Microsoft Office Access 2007, в Microsoft Office Access 2003, и в Microsoft Access 2002. Эти функции и операции можно использовать для изменения типа данных Date/Time с помощью примеров запросов. Пример запросов, которые могут использоваться для изменения значения данных с использованием таблиц в учебной базе данных Northwind.mdb.

Примечание Учебная база данных Борей для Access 2007 не использует те же поля, что и более ранние версии этой учебной базы. В ней отсутствуют поля HireDate и BirthDate в таблице Employees (Сотрудники), включенной в состав учебной базы Борей для Access 2007. Поле EmployeeID переименовано в ID, а поле FirstName переименовано в First Name.

Дополнительная информация

В Access существуют операторы и функции для проверки или изменения полей с данными типа Date/Time. Следующие примеры запросов используют обработку данных, функции вычисления и операции сравнения, доступные в Access.

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации. и не предоставляет явных или подразумеваемых гарантий относительно их пригодности для применения в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования и необходимых средств разработки и отладки. Сотрудники службы технической поддержки Microsoft могут пояснить назначение тех или иных процедур. Но они не изменяют эти примеры для придания им дополнительной функциональности и не создают процедуры под ваши конкретные требования.
  • Функции Date(), Now() и Format()

    SELECT Date(), Now();
    Функция Date() возвращает текущую дату в коротком формате. Функция Now() возвращает текущие дату и время.
    SELECT Format(Now(), "dd mmmm yyyy");
    Функцию Format() можно использовать для выбора формата даты. Пример запроса, возвращающего текущую дату в длинном формате (01 декабря 2003).
  • Функция Day(), функция WeekDay(), функция Month(), и функция Year()

    SELECT HireDate, Day(HireDate) AS Day,
    Weekday(HireDate) AS WeekDay,
    Month(HireDate) AS Month, Year(HireDate) AS Year 
    FROM Employees;
    Этот запрос возвращает из таблицы Employees дату найма, день недели найма, месяц найма и год найма каждого сотрудника. Обратите внимание, что функция WeekDay() возвращает численное значение, обозначающее день недели.
  • Функция DatePart()

    SELECT *  FROM Employees 
    WHERE DatePart("yyyy", BirthDate) < 1960;
    Этот запрос выбирает из таблицы Employees всех сотрудников, родившихся до 1960 года. Функция DatePart() может применяться для извлечения части конкретной даты, например, дня, месяца или года.
  • Функция DateDiff()

    SELECT EmployeeID, FirstName, BirthDate,
    DateDiff("yyyy", BirthDate, Date()) AS Age
    FROM Employees;
    Этот пример запроса возвращает из таблицы Employees код сотрудника (ID), имя, дату рождения и возраст каждого сотрудника. Функция DateDiff() возвращает разницу или интервал времени между двумя датами (в днях, месяцах, годах или в таких единицах времени как часы, минуты и секунды).
  • Функция DateAdd()

    SELECT EmployeeID, FirstName, BirthDate,
    DateAdd("yyyy", 10, HireDate)
    FROM Employees;
    Этот пример запроса возвращает из таблицы Employees код сотрудника, имя, дату найма и дату 10 лет службы сотрудника в компании. Функция DateAdd() увеличивает дату на заданное число единиц времени, таких как день, месяц или год и возвращает результат.

    Можно напрямую прибавить число к значению даты. Прибавьте к дате день как в следующем примере:
    SELECT Date() + 1 ;
    Этот запрос увеличивает текущую дату на один день и возвращает дату-результат.
  • Функция DateValue()

    SELECT DateValue("20 Nov 2003") AS ValidDate;
    Функция DateValue() проверяет, является ли введенная строка допустимой датой. Если введенная строка распознается как допустимая дата, дата возвращается в коротком формате. Если введенная строка не распознается, как допустимая дата, возвращается инструкция "Data type mismatch in criteria expression" (Тип данных не соответствует критерию выражения). Функция DateValue() распознает разнообразные форматы данных, такие, как длинный формат даты ММ ДД ГГГГ, ДД ММ ГГГГ, ДД МММ ГГГГ, и ДД МММ ГГГГ ЧЧ:ММ:СС.
  • Функция DateSerial()

    SELECT DateSerial( 2003,  03, 1-1);
    Функция DateSerial() возвращает значение даты введенных параметров года, месяца и дня. Вводимые параметры могут быть выражениями, включающие арифметические операции. Функция DateSerial() оценивает выражения во введенных параметрах перед тем, как возвращает дату-результат.

    Пример запроса возвращает последний день месяца, февраля 2003. Последний введенный параметр дня со значением 1 уменьшается на 1. В результате параметр месяца становится равным 2.
  • Использование операторов сравнения с датами

    Для сравнения значений дат в выражениях и запросах можно использовать следующие операторы сравнения:
    • < (меньше чем)
    • < (больше чем)
    • <= (меньше или равно)
    • <= (больше или равно)
    • <> (не равно)
    SELECT * FROM Employees
    WHERE HireDate >= DateValue(" 10/01/1993")
    AND HireDate <= DateValue("12/31/1993");
    В этом запросе применяются операторы сравнения >= и <= для проверки, попадают ли даты найма сотрудников в интервал двух заданных дат. Этот запрос собирает записи всех сотрудников, нанятых в последнем квартале 1993 календарного года.
    SELECT * FROM Employees
    WHERE HireDate <> Date();
    Этот запрос использует оператор сравнения неравенства для выбора записей сотрудников, дата найма которых не совпадают с текущей датой.
  • Функция WeekdayName()

    SELECT WeekdayName(1, False, 1) AS FirstWeekDayName;
    Функция WeekdayName() возвращает строку, показывающую день недели, как задано первым параметром. Возвращаемая строка дня недели зависит от третьего параметра. Этот параметр устанавливает первый день недели. Второй параметр устанавливается как False (Ложь), чтобы указать, что название дня недели не должно сокращаться.

    Пример запроса возвращает значение Sunday (Воскресенье) как первый день недели.
  • Функция MonthName()

    SELECT MonthName(1);
    Функция MonthName() возвращает строку, показывающую название месяца для выбранного номера месяца от 1 до 12. Входной параметр также может быть выражением, как в следующем запросе:
    SELECT MonthName( DatePart("m", Date()) );
    Запрос возвращает название текущего месяца.

Ссылки

Дополнительные сведения содержатся в следующих статьях базы знаний Майкрософт:
290178 Как создать запрос с параметрами для оценки сложных критериев в Microsoft Access (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
290190 Как создать две функции для расчета возраста в месяцах и годах в Microsoft Access (Эта ссылка может указывать на содержимое полностью или частично на английском языке)

Свойства

Код статьи: 826766 - Последний отзыв: 29 декабря 2007 г. - Revision: 3.1
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Ключевые слова: 
kbdownload kbfunctions kbdatetime kbvalidation kbquery kbdatabase kbinfo KB826766

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com