Установив необходимые связи между таблицами можно приступать к разработке и созданию запросов.
3.3 Разработка и создание запросов
Запрос – объект БД, который служит для селекции и фильтрации набора данных, позволяет выбрать из большого количества информации только ту, которая соответствует определенному критерию отбора и нужна для решения конкретной задачи. MSAccess дает большие возможности при проектировании запросов (включать не все поля, выбирать, сортировать записи, затрагивать данные из нескольких таблиц, выполнять вычисления, использовать запрос в качестве источника данных для отчетов, форм и других запросов, изменять данные в таблицах…)
Рекомендуется создавать запросы при помощи конструктора. Существуют разные типы запросов (на добавление, изменение, объединение записей). Наиболее простейший тип – запрос на выборку. На основе этого запроса могут создаваться и другие виды запросов: на создание таблицы, на обновление, удаление, добавление. Есть также и перекрестный тип запроса – запрос, позволяющий создавать результирующие таблицы на основе результатов расчетов, полученных при анализе группы таблиц. Часто используют запросы, представляющие собой незначительно видоизмененные варианты однажды подготовленного базового запроса. Их называют параметрическими. Для реализации таких запросов проектируется 1 параметрический запрос, в котором указывается тот критерий, который может меняться по заказу пользователя. В БД «АГЕНСТВО ПО ТРУДОУСТРОЙСТВУ» были созданы вышеперечисленные виды и типы запросов.
Наиболее простейший тип запросов – запрос на выборку. На основе этого запроса могут создаваться и другие виды запросов: на создание таблицы, на обновление, удаление, добавление. В режиме конструктора такой запрос имеет вид:
Если требуется получить сведения для одного из значений какого-либо поля, то в этом случае необходимо задать параметр для этого поля.
При выполнении запроса Access запрашивает в окне диалога значение параметра. Его вводит пользователь.
С помощью групповых операций записи собираются в группы с одинаковыми значениями указанных полей. Формирование в группы необходимо в тех случаях, когда для других полей этих групп требуется вычислить значение какой-либо статистической функции.
Результат запроса будет содержать по одной записи для каждой группы. В запрос включаются поля, по которым производиться группировка, и поля, для которых выполняются групповые операции. В режиме конструктора такой запрос имеет вид:
3.3.3 Запрос с вычисляемыми полями
Над полями запросов можно выполнять вычисления. При этом создается новое вычисляемое поле. Для создания выражений используется окно Построитель выражений.
Выражение для вычисляемого поля может состоять из имен полей различных таблиц и запросов, функций, чисел и так далее. Построитель дает возможность выбрать нужные поля из таблиц и запросов, функции из списка функций, знаки арифметических операций.
Я использовал вычисляемые поля в запросе «С вычисляемыми полями».
В режиме конструктора такой запрос имеет вид:
А построитель выражений:
3.3.4 Перекрестный запрос
Перекрестные запросы предназначены для группирования данных и представления их в компактном виде. Запрос можно создать самостоятельно или воспользоваться Мастером. Из перекрестного запроса, созданного мной можно определить, стоимость каждого программного продукта по столбцу обновлений. В режиме конструктора такой запрос имеет вид:
3.3.5 Запрос на создание таблицы
Запрос на создание таблицы сохраняет результаты выборки в отдельной таблице. В режиме конструктора такой запрос имеет вид:
Запрос на удаление позволяет исключить из таблицы (или из связанных таблиц) записи, удовлетворяющие некоторому условию. В режиме конструктора такой запрос имеет вид:
Запрос на обновление обеспечивает одну из важнейших сервисных функций системы управления базой данных – автоматизированную обработку данных. Такие запросы позволяют существенно сэкономить время оператора, выполняющего редактирование информации. В режиме конструктора такой запрос имеет вид:
3.3.8 Запрос на заполнение столбца (на добавление)
Запрос на заполнение столбца (добавление) позволяет скопировать данные из одной таблицы в другую, не прибегая к помощи буфера обмена. Записи могут перемещаться между разными файлами баз данных и между базами данных разного типа. В режиме конструктора такой запрос имеет вид:
3.4 Разработка отчетов для приложения
Отчеты – это информация, оформленная в соответствии с необходимыми спецификациями. Они являются особой формой представления данных. Отчет позволяет использовать и распространять полученную информацию из БД, выводить ее на печать. При оформлении отчетов можно использовать различные элементы управления (графики, диаграммы, рисунки, фон…) Отчеты являются эффективным средством для распечатки информации регулярного использования. Создавать отчеты можно, используя мастер или конструктор. Автоотчет позволяет быстро создавать более простые отчеты. Он бывает двух видов: в столбец и ленточный. Ленточный отчет размещает записи в отдельную строку, а поля в отдельные столбцы. Его удобно применять при большом числе записей и малом количестве полей. Отчет в столбец удобен в том случае, когда мало записей и много полей. Когда необходимо создавать сложные, многоуровневые отчеты, нельзя использовать автоотчет. В данном случае чаще всего применяется мастер. В отчетах также можно создавать поля с итоговыми вычислениями. При этом могут использоваться различные функции и построитель выражений. Как правило, для формирования отчета создают запрос, в котором собирают данные из разных таблиц, с включением вычисляемых полей, группировкой, условиями отбора. Далее по общим правилам MSAccess, на базе такого запроса проектирует отчет.
В данной работе использовалось два типа создания отчета: при помощи конструктора и при помощи мастера с последующим форматированием и редактированием в режиме конструктора. В некоторых отчетах был изменен цвет шрифта, заливка, применялось выравнивание, также использовалась панель элементов для создания надписей и полей, применялась вставка текущей даты.
3.5 Разработка пользовательского интерфейса на основе форм
Чтобы упростить просмотр, ввод и модификацию данных в конкретной таблице создается одна или несколько форм. Таблица и форма – основные объекты в современных информационных системах. Они неотделимы друг от друга, и очень часто разработчики совмещают их в одном окне документа, на разных вкладках. Форма – это документ, который представляет собой бланк, подлежащий заполнению или маску, накладываемую на набор данных. Форма позволяет упростить процесс заполнения БД, благодаря этому имеется возможность поручить ввод информации персоналу не высокой квалификации. По структуре форма похожа на окно диалога. Существует несколько способов создания форм:
1.Автоформа. Основывается только на одном объекте, выбираются все поля. Автоформа бывает трех видов: в столбец (отображает все поля одной записи), ленточная (отображает группу записей), табличная (своим внешним видом напоминает таблицу);
2.Мастер форм – специальные программные средства, создающие структуру форм в режиме диалога с разработчиком;
3.Режим конструктора – наиболее сложный и подробный способ создания форм, рассчитанный на пользователей с большим опытом работы в среде MSAccess.
Помимо простых, формы также могут быть подчиненными и связанными. Если вы создаете форму для ввода данных в две таблицы, связанные друг с другом, то форма для одной таблицы может включать в себя форму для другой (подчиненной) таблицы. Такая форма называется подчиненной. Если вы создаете форму для ввода данных в две таблицы, связанные друг с другом, то форма для одной таблицы может иметь специальную кнопку для вызова формы другой (связанной) таблицы. Такая форма называется связанной.