Для проектируемой базы данных запрос с вычисляемым полем имеет вид – см. в Приложении 15-16.
Формирование запроса с группировкой.
Часто требуется в таблице видеть не все записи, а только итоговые значения по группам записей. Расчет итогов для некоторых полей групп производится с помощью статистических функций, которые были описаны выше.
Для создания запроса с группировкой выполняется следующее:
· перетаскивается в первую клетку строки Поле то поле, по которому производится группировка записей. Затем перетаскиваются в последующие клетки поля, по которым подводятся итоги;
· вводится команда Вид / Групповые операции. В бланке запроса появляется новая строка Групповая операция, в которой для всех полей указано Группировка;
· в строке Групповая операция для полей, по которым подводятся итоги, производятся щелчки и из раскрывающегося списка выбирается требуемая статистическая функция.
Формирование запроса с параметрами
Если необходимо часто выполнять один и тот же запрос выбора, меняя только в условиях отбора значения полей, то целесообразно создать запрос с параметрами. В строках Условие отбора, или для полей, играющих роль параметров, вводится в квадратных скобках текст приглашения на ввод интересующих пользователя значений этих полей. Этот текст будет выводиться в диалоговом окне "Введите значение параметра при выполнении запроса". Результат построения запроса с параметрами приведен в Приложении 17-18.
Создание перекрестного запроса с помощью Конструктора начинается с открытия окна Конструктора запроса. В этом окне в бланк запроса последовательно перетаскиваются:
· поля, значения которых будут заголовками строк перекрестной таблицы;
· поле, значения которого будут заголовками столбцов перекрестной таблицы;
· поле, по которому подводится итог с использованием статистической функции.
Затем выполняется команда Запрос / Перекрестный. В результате в бланке запроса появятся две новые строки: Групповая операция и Перекрестная таблица. В строке Перекрестная таблица для полей со значениями в роли заголовков строк выбирается из раскрывающегося списка значение Заголовки строк, а для поля со значениями в роли заголовков столбцов – Заголовки столбцов. В строке Групповая операция для поля, по которому подводится итог, из раскрывающегося списка выбирается необходимая статистическая функция.
Результат создания перекрестного запроса представлен в Приложении 19-20.
Формирование запроса на создание таблицы БД.
После открытия окна конструктора запроса вводится команда Запрос / Создание таблицы
В появившемся окне Создание таблицы указывается имя создаваемой таблицы и куда ее следует поместить – в текущую БД или в другую БД. Затем из списков полей перетаскиваются в бланк запроса поля, которые должны быть в этой таблице, и при необходимости задаются условия отбора записей. После выполнения запроса новая таблица будет в списке таблиц окна БД.
Формирование запроса на обновление полей таблицы БД
После открытия окна конструктора запроса вводится команда Запрос / Обновление в бланке запроса появится новая строка Обновление. Затем в бланк запроса перетаскиваются все поля таблицы, и для полей, подлежащих обновлению, в строке Обновление задаются выражения, значения которых будут новыми значениями обновляемых полей. При необходимости обновления значений полей только в некоторых записях задаются условия отбора записей.
Формирование запроса на добавление записей к таблице БД.
При открытии окна конструктора запроса в качестве источника запроса указывается таблица, из которой добавляются записи в другую таблицу. Записи таблицы-источника должны содержать такие же поля, что и пополняемая таблица БД. В окне конструктора запроса вводится команда Запрос / Добавление. Появится диалоговое окно Добавление, в котором требуется указать имя пополняемой таблицы и где эта таблица находится – в текущей БД или в другой БД. Кроме того, в бланке запроса появится новая строка Добавление.
Затем перетаскиваются те поля из списка полей таблицы-источника, которые совпадают с полями пополняемой таблицы. Их имена Access автоматически укажет в строке Добавление как имена полей пополняемой таблицы.
Формирование запроса на удаление записей из таблицы БД.
Если между таблицами установлена связь с обеспечением целостности данных, но без каскадного удаления записей, то прежде составляется запрос на удаление записей из подчиненной таблицы, а затем – из главной.
В этом случае при удалении записей из подчиненной таблицы в окне конструктора запроса вводится команда Запрос / Удаление. В результате в бланке запроса появится новая строка Удаление. Тогда из списка полей подчиненной таблицы перетаскивается в бланк запроса символ звездочки (*), после чего в строке Удаление для этого поля отобразится значение Из. Затем из списка полей главной таблицы перетаскиваются поля, участвующие в условии отбора удаляемых записей, и для них в строке Удаление появится значение Условие. После этого задаются условия отбора удаляемых записей.
Если связь между таблицами с обеспечением целостности данных и с каскадным удалением записей, то создается запрос на удаление записей только из главной таблицы.
При составлении запроса на удаление записей из главной таблицы (в обоих случаях) в окне конструктора запроса вводится команда Запрос / Удаление.
В бланк запроса перетаскиваются поля, участвующие в условиях отбора записей на удаление, и задаются условия отбора.
После формирования запроса его необходимо выполнить. Из окна Конструктора запроса это можно сделать, введя одну из команд:
· Запрос / Запуск
· Вид / Режим таблицы
Если результаты выполнения запроса не удовлетворяют, то можно вернуться к окну Конструктора запроса для его модификации по команде Вид / Конструктор. В противном случае результат запроса можно сохранить с помощью команды Файл / Сохранить или произведя закрытие окна Конструктора запроса.
5. Создание форм пользователя
СУБД Access позволяет создавать такие объекты БД, как формы. Формы служат удобным средством для ввода, просмотра и редактирования информации БД.
Формы для ввода представляют бланк, подлежащий заполнению, и дают возможность осуществить контроль вводимых данных и исключить ввод неверных. При просмотре и редактировании имеют дело с маской, накладываемой на набор данных. Маска-форма позволяет ограничить доступ пользователя к информации БД, заблокировав отдельные (служебные или засекреченные) поля или записи.
Формы есть простые и составные (включающие другие формы). Они могут содержать различные элементы: поля БД и подписи к ним, списки, флажки, переключатели, кнопки, вкладки и др. В них возможны вычисления для отдельных записей и их групп, а также наглядное графическое представление данных в виде диаграмм.
Форму можно спроектировать на базе одной или нескольких таблиц и/или запросов. На основе одной таблицы или запроса можно построить несколько форм. В форме имена полей берутся из описания таблицы, а сами поля пользователь располагает в соответствии со своими вкусами и требованиями и вносит различные элементы оформления: линии, рисунки, заливку и др.
Форма создается "вручную" - с помощью конструктора форм, автоматизированным способом - с помощью Мастера форм и автоматически - с использованием автоформы. Конструктор форм предоставляет пользователю набор инструментов, с помощью которого пользователь может создать форму соответственно своим вкусам и требованиям. Мастер форм руководит процессом проектирования форм. Он задает пользователю вопросы о структуре и оформлении формы, предлагая на выбор несколько вариантов. В результате диалога пользователя и Мастера форм появляется "готовая к употреблению" форма. Автоформа на основе выбранной таблицы автоматически создает одну из форм: в столбец, ленточную, табличную.
Окно конструктора формы содержит следующие средства конструирования:
· панель Конструктора с набором графических кнопок, которая включается/выключается по команде Вид/Панели инструментов;
· разделы проекта, в которых размещают различные графические объекты, определяющие вид и содержание формы. Эти графические объекты называют элементами управления;
· панель элементов управления, включаемая/выключаемая по команде Вид/Панель элементов
· список полей таблицы или запроса, служащих источником данных для формы. Он включается/выключается по команде Вид/Список полей;
· сетка, отображаемая в разделах проекта для удобства проектирования. Она включается/ выключается по команде Вид/Cетка;
· линейки – горизонтальная и вертикальная, включаемые/выключаемые по команде Вид/Линейка. Они также предназначены для удобства проектирования.
По умолчанию в окне Конструктора формы выводится раздел проекта Область данных, в котором размещают поля БД из таблицы или запроса, а также вычисляемые поля. Кроме данного раздела при конструировании могут быть востребованы и другие разделы:
Заголовок формы и Примечание формы, включаемые/выключаемые попарно соответственно по команде Вид – Заголовок/Примечание формы.
Верхний колонтитул и Нижний колонтитул, включаемые/выключаемые попарно по команде Вид / Колонтитулы.
Если, например, в окне Конструктора формы включены все названные разделы, то они располагаются в рабочей области этого окна в такой последовательности, как показано на рис. 5.1.
Рис.5.1 Расположение разделов проекта формы в окне конструктора формы
Заголовок формы содержит сведения, общие для всех записей, такие как название формы, дата и время. Примечание формы отображает сведения, общие для всех записей, такие как инструкции по работе с формой, командные кнопки, общие суммы в счетах. Верхний колонтитул и Нижний колонтитул используются в случае конструирования формы табличного вида. Тогда в Верхнем колонтитуле отображаются названия столбцов, а в Нижнем колонтитуле – номер страницы, дата.