Использование функций в запросах
Функции, используемые в запросах, можно вставлять в выражения с помощью построителя выражений (см. раздел 5.5), вызываемого щелчком на кнопке Построитель, расположенной на вкладке Конструктор в группе Настройка запроса. Причём, эта кнопка будет доступна только в случае отображения запроса в режиме конструктора.
В окне построителя выражений необходимо из списка Элементы выраженийраскрыть список Функции и выбрать элемент Встроенные функции, после чего отобразится список категорий выражений и список функций выбранной категории, например, категории Статистические (см. рис. 24). Выбор конкретной функции осуществляется двойным щелчком на её имени.
Рис. 24. Функции в окне построителя выражений.
Наиболее распространёнными при работе с базами данных являются функции категорий Дата/время, Математические, Статистические и Финансовые. Так, например, в итоговом запросе (см. раздел 6.6) были использованы функции Sum (сумма), Avg (среднее значение) и Count (количество) категории Статистические.
Продемонстрировать использование функций в запросах можно на примере создания запроса Возраст, в котором вычисляется возраст работника на момент текущей даты на основании его даты рождения. Для этого формируется запрос, содержащий поля таблицы Адрес: Фамилия и инициалы, Дата рождения и Район проживания. В окне конструктора запросов в строку Полеспомощьюпостроителявводитсявыражение Возраст: Int((Date()-[Дата рождения])/365,25), т.е. создаётся запрос с вычисляемым полем Возраст (см.
раздел 6.5). Функция Date()позволяет определять текущую дату, а функцияInt()выделятьцелую часть числа (вычисляемого возраста работника). В режиме конструктора запрос примет вид, представленный на рис. 25, а результирующая таблица запроса показана на рис. 26.
Рис. 25. Запрос Возраст в режиме конструктора
Возраст | |||
Фамилия и инициалы | Дата рождения | Район проживания | Возраст |
Иванов А.В. | 12.04.1984 | Светлый | |
Петров В.Л. | 02.02.1967 | Калининский | |
Борисов Д.А. | 23.01.1973 | Светлый | |
Абрамов А.Д. | 03.11.1981 | Калининский | |
Воронин А.П. | 11.10.1951 | Светлый | |
Матвеев А.А. | 03.05.1990 | Приморский | |
Сидоров К.Н. | 29.07.1985 | Приморский | |
Родионов В.Н. | 23.12.1962 | Калининский | |
Королёв С.Е. | 25.02.1976 | Светлый | |
Бойко Р.П. | 17.07.1989 | Светлый |
Рис. 26. Результирующая таблица запроса Возраст
Одной из часто встречаемых задач при работе с БД является выборка данных с минимальными или максимальными значениями заданного поля, например, вывод сведений о работниках с минимальной заработной платой. Для этого вначале создаётся запрос, допустим, Минимальная зарплата, который затем связывается с таблицей, например, Сотрудник, и на их основе формируется запрос (Работники с минимальной зарплатой), позволяющий выводить данные о сотрудниках (сотруднике) с минимальной заработной платой.
При создании запроса Минимальная зарплата из таблицы Сотрудник в строку Поле“переносится” только поле Зарплата, затем выполняется щелчок на кнопке (Итоги), после чего в окне конструктора запроса появляется строка Групповая операция, а в ячейке поля ЗарплатасловоГруппировка. Из раскрывающегося списка выбирается операция Min,и запрос в режиме конструктора примет вид, показанный на рис. 27, а в режиме таблицы – на рис. 28.
Рис. 27. Запрос Минимальная зарплатав режиме конструктора |
Рис. 28. Запрос Минимальная зарплатав режиме таблицы |
В верхней части окна конструктора формируемого запроса Работники с минимальной зарплатой должны быть отображены таблица Сотрудник и запрос Минимальная зарплата. Чтобы их связать, в данном окне конструктора поле Зарплата из таблицы Сотрудник “перетаскивается” на поле Min-Зарплата запроса Минимальная зарплата. Заканчивается формирование запроса заполнением строки Поле. Запрос Работники с минимальной зарплатой в режиме конструктора показан на рис. 29, а его результирующая таблица – на рис. 30.
Рис. 29. Окно запроса Работники с минимальной зарплатой в режиме конструктора
Рис. 30. Результирующая таблица запроса Работники с минимальной зарплатой
Подробно формирование этого запроса рассмотрено в разделе 9.9.
Формы
Способы создания форм
Access предоставляет возможность вводить данные либо непосредственно в таблицу, как было рассмотрено ранее, либо с помощью форм. Формы рекомендуется использовать, когда данные часто меняются или база постоянно пополняется новыми записями. Если данные вводятся непосредственно с бланков, то графическими средствами форму можно представить так, чтобы она повторяла оформление бланка, что заметно облегчает работу пользователя.
С помощью форм данные можно не только вводить, но и отображать в удобном для пользователя виде.
Формы в Access являются главным средством разработки пользовательского интерфейса.
В Access 2010 формы можно создавать различными способами: автоматически (создание так называемых автоформ), создание пустой формы, а такжес помощью мастера форм и в режиме конструктора.
Наиболее простым и распространённым способом является автоматическое создание форм на основе выбранного объекта: таблицы, запроса и др.
Первоначально пустая форма не содержит ни одного поля, по мере её создания в неё могут быть включены любые поля всех таблиц, содержащихся в открытой базе данных.
Мастер форм позволяет включать в создаваемую форму поля из нескольких таблици формировать многотабличные формы, когда одна форма (подчинённая) встраивается в другую форму (главную). Многотабличные формы удобны для отображения данных из таблиц, связанных отношением «один ко многим».
Режим конструктора позволяет полностью контролировать процесс создания формы. Чаще всего этот режим используется для редактирования ранее созданной формы.