1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

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

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

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

Если вы хотите пройти обучение по Аксесс на 350% рекомендую посмотреть грамотные видеоуроки здесь.

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

=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 дня.

image001

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

image002

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

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

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

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

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

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

Если вы хотите быстро решить все свои, как текущие так и будущие проблемы по Аксесс, рекомендую изучить данный набор видеоуроков.

image003

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

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

image004

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

image005

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

image006

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

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

image007

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

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

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

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

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

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

Самое полное видеообучение по Аксесс в том числе и решение данной проблемы вы сможете найти здесь на отдельной страничке данного сайта.

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

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

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

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

Хотите узнать какие 35 инструментов нужно знать, чтобы научиться создавать базы данных в Аксесс? Тогда вам сюда.