Встроенные функции

Функции – это готовые встроенные формулы (более ста) для разнообразных расчётов. Они применяются во всех объектах базы данных (запросах, формах и др.), даже в таблицах — для задания условий на значения и значения по умолчанию.

Подразделяются функции на разные группы по принципу действия и типам данных, с которыми они работают: математические, финансовые, статистические, функции обработки даты/времени и другие. Конструкции и синтаксис написания большинства функций схожи между собой. Например, рассмотрим функцию из раздела «дата/время» DateDiff, которая возвращает значение, определяющее количество временных интервалов между двумя указанными датами. Звучит непонятно, но попробую на примере разъяснить.

Синтаксис функции (правило написания) приведён ниже.

=DateDiff(интервал;дата1;дата2[;первый день недели] [;первая неделя года]). Необязательный параметр (заключён в квадратные скобки) «первый день недели» может быть от 1 до 7 (1 — воскресенье (по умолчанию), 2 — (понедельник) … 7 — (суббота)). «Первой неделе года» можно назначить цифры от 1 до 3 (1 — неделя, на которую выпадает 1 января (по умолчанию), 2 — неделя, в состав которой входит не менее четырёх дней, 3 — начинается с первой полной недели года).

Рассмотрим подробнее:

=DateDiff(«d»; [Дата1]; [Дата2])

В данном примере вычисляется число дней между значениями полей «Дата1» и «Дата2». Необязательные параметры первых дней недели и года опущены. Предположим, что [Дата1] равна 01.09.1929, [Дата2] равна 12.02.2010, тогда функция возвратит значение 29384, т. е. между этими двумя датами разница в 29384 дня.

Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

Вместо параметра «d» можно подставить множество других: «w» — количество недель, «q» — количество кварталов, «yyyy» — количество лет и др.

Функции могут вкладываться друг в друга. Один из примеров приведён в статье «Выражения», где рассчитывается возраст человека в годах.

Вот ещё несложный пример:

=»Дни рождений за » & UCase(MonthName(Month([Дата рождения]))) & » » & Year(Date()) & » года»

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

Покажем сразу окно запроса в режиме конструктора:

Формула параметра в условии отбора такая: Like «???» & [Введите номер месяца текущего года, например, для марта — 03, для ноября — 11:] & «?????» (она рассматривается в статье о запросе с параметром).

Теперь окно ввода параметра при открытии запроса:

Нажимает кнопку «ОК» и получаем запрос, на основе которого будет печататься отчёт:

Теперь отчёт в режиме конструктора:

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?

А вот отчёт в режиме просмотра перед печатью:

Разберём по частям функцию.

—  знак «=» ставится в вычисляемых элементах управления отчёта, как и в ячейках Excel, иначе Access не поймёт, чего хочет пользователь;

—  «Дни рождений за » – это текстовая неизменная часть поля, которая будет выведена на экран отчёта, только без кавычек;

—  «&» — это знак объединения (конкатенации). Знак «&» (амперсанд) как бы склеивает части строки (подстроки);

—  В функцию UCase вложены функции MonthName и Month. В функцию MonthName вложена Month. Функция Month из даты извлекает месяц (например, из даты 01.05.1970 она «выудит» число 05). Функция MonthName цифру 05 преобразует в слово «май», а UCase слово «Май» напишет прописными буквами («МАЙ»);

—  потом между двумя амперсандами в кавычках заключён пробел для вставки его между словом «МАЙ» и текущим годом;

—  Year(Date()) – из текущей даты «достаёт» год (например, из даты 01.05.2010 число 2010);

—  « года» — вставляет подстроку «года» с пробелом перед этим словом.

В одном месяце может быть много именинников, а функция Month([Дата рождения] извлекает число месяца только из первой записи. Но в данном случае это не имеет значения, так как месяц рождения у всех именинников будет один и тот же.

По функциям Access можно написать очень объёмную книгу, но все они вряд ли пригодятся. Слишком их много и самые разнообразные они производят действия. При необходимости может помочь встроенная справка Access. Хотя она и написана сухим техническим языком, но бывает незаменимой помощницей.

Возможно Вас заинтересуют эти материалы

Access видео уроки для начинающих

Access — это система управления базами данных (СУБД). Эта СУБД предназначена для хранения и поиска

Работа с выражениями

Выражения – это основное средство выполнения операций в Access, представляющее собой комбинацию операторов (математических, логических и

Макросы в access

Макросы в access представляют собой как бы контейнер, в котором хранятся простейшие команды (макрокоманды), последовательно выполняющиеся.