Разработка экранных форм для работы с базой данных




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

Имеющийся в системе Мастер форм позволяет легко создавать экранные формы нескольких видов (простые - для работы с данными одной таблицы, более сложные - для работы с несколькими таблицами с использованием подчиненных форм). Полученные формы далее, как правило, приходится дополнять и модифицировать в конструкторе экранных форм для реализации всех необходимых условий работы с базой.

Для разработки экранной формы на вкладке Создание выбираем кнопку Мастер форм.

Рис. 10 – Создание формы в режиме мастера

 

Далее следует ответить на ряд вопросов Мастера:

  • выберите поля для формы - выбираем все поля таблицы SPISOK и все поля таблицы OCENKI за исключением поля NZ;
  • выберите вид представления данных - выбираем подчиненные формы, т.е. расположение данных главной таблицы и связанной с ней на одной форме;

Рис. 11 – Выбор вида представления данных

  • выберите внешний вид подчиненной формы - выбираем табличный;
  • задайте имена форм - задаем для главной формы название Студенты, для подчиненной формы Оценки студента и на том же экране ниже выбираем пункт Изменить макет формы, после чего нажимаем на кнопку Готово.

Рис. 12 – Завершение создания формы в режиме мастера

 

Полученная экранная форма будет открыта в конструкторе форм, в базе данных на странице Формы появятся две новые - Студенты и Оценки студента. Для более детального отображения в конструкторе подчиненной формы лучше закрыть окно и снова открыть в конструкторе форму Студенты, в этом случае она будет иметь вид, приведенный на рис. 13.


Рис. 13 - Экранная форма, созданная с помощью Мастера

На полученной форме не все надписи полностью видны, расположение полей тоже можно улучшить.

Для формы и всех ее элементов можно открыть окно Свойства, щелкнув правой кнопкой мыши на любом объекте и выбрав в контекстном меню слово Свойства. Кроме того, в контекстном меню присутствуют такие важные при оформлении объектов возможности, как "Выровнять" - полезно для выравнивания группы объектов, "Размер", "Цвет", "Оформление", "Условное форматирование".

 

 

 

Рис. 14 - Окно свойств для объекта Форма, страницы Макет и Данные

Все свойства в окне разбиты на группы:

Макет - расположение, шрифт, цвет и прочее, связанное с внешним видом объекта;

Данные - в этом разделе важнейшее свойство - Данные или Источник записей - для объектов, связанных с редактированием каких-либо данных;

События - методы, т.е. процедуры (программы), выполняющиеся для объекта при наступлении определенных событий (Загрузка, Открытие, До обновления, После обновления и пр.);

Другие - прочие свойства.

На экранной форме присутствуют элементы (объекты) следующих типов: Надпись - текст на форме, обычно не изменяющийся. Главные свойства этого объекта присутствуют на странице Макет окна свойств (рис. 15).

Поле - поле редактирования, связанное с полем базы данных или переменной.

Рис. 15 - Окно свойств объекта типа Надпись   Рис. 16 - Окно свойств объекта типа Поле  

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

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


Рис. 17 - Окно свойств объекта типа Поле со списком

Кроме того, на форме могут присутствовать и другие объекты, которые можно добавлять, используя кнопки Панели элементов.

 

· Группа переключателей, Выключатель, Переключатель, Кнопка - кнопки и группы кнопок разного вида, связанные с выполнением определенных процедур. При выборе объекта Кнопка запускается Мастер, который предложит Вам набор стандартных кнопок перехода по записям таблицы, обработки записей (восстановить, дублировать, печатать и пр.), работы с формой, с отчетами (печатать, просмотреть, отправить в файл или по почте), работы с приложениями и разное. Кнопки можно создать с помощью Мастера, при этом программный код, связанный с их действием, уже будет присутствовать (рис. 18).


Рис. 18 - Окно Мастера создания кнопок

· Флажок - поле, связанное обычно с полем таблицы логического типа, в котором стоит галочка или нет.

· Список - список данных для выбора одного из значений.

· Рисунок - вставка рисунка в форму.

· Свободная рамка объекта - любой объект Windows-приложений, редактирование которого будет возможно вызовом соответствующего приложения.

· Присоединенная рамка объекта - для работы с полями таблиц типа "поле объекта OLE ".

· Набор вкладок - многостраничная форма.

· Линия, Прямоугольник - элементы оформления.

Для использования экранной формы нужно запустить ее в работу. Для этого закроем окно конструктора и выберем команду Открыть формы Студенты. Вид формы при работе с базой данных приведен на рис. 19.


Рис. 19 - Работа с базой данных с использованием экранной формы

В данном режиме можно редактировать существующие записи, добавлять новые в список студентов и список оценок для каждого студента. Для удаления записей можно добавить с помощью Мастера кнопку категории Обработка записей с действием Удалить запись на основную форму.

При работе с формой можно задать сортировку записей по одному из полей и фильтр для показа только тех данных, которые соответствуют заданному условию (см. вкладку «Главная»).

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

В конструкторе изменим расположение полей и расширим надписи. После этого форма будет иметь в конструкторе вид, приведенный на рис. 20.

Рис. 20 - Усовершенствованная экранная форма в Конструкторе форм

В режиме работы с базой данных в усовершенствованной форме можно видеть названия факультетов, специальностей, предметов и выбирать их из справочных таблиц с помощью раскрывающихся списков (рис. 21).


Рис. 21 - Работа с базой данных с использованием экранной формы, в которой присутствуют объекты поле со списком

Разработка отчетов

Для разработки отчетов, отражающих информацию базы данных - в системе Access можно использовать режим Мастер отчётов вкладки Создание, с усовершенствованием отчета в дальнейшем в режиме Конструктора отчетов. Отчеты могут быть созданы на основе всей информации, присутствующей в таблицах базы, но чаще для отчетов необходимо отобрать нужную информацию из базы с использованием SQL-запроса и на основе его создать отчет. Важным свойством отчетов является возможность группировки данных и получения итоговых данных для групп и всего отчета.

Поставим задачу разработать отчет, в котором показаны оценки всех студентов с группировкой данных по факультетам, курсам, группам.

Для этого переходим на вкладку Создание и нажимаем кнопку Мастер отчётов. На первом шаге Мастера выбираем поля главной таблицы базы (SPISOK), которые мы хотим показать в отчете, и все поля дочерней таблицы оценок (OCENKI) (рис. 22).


Рис. 22 - Выбор полей для отчета в Мастере отчетов

На втором шаге выбираем первый вариант, когда выделена таблица SPISOK.

Риc. 23 – Выбор вида представления данных

 

На третьем шаге задаем группировку данных по факультетам, курсам и группам. Более трех уровней группировки Мастер задать не позволяет (рис. 24).


Рис. 24 - Группировка данных в отчете

Сортировку на следующем шаге не задаем.

На пятом шаге выбираем вид макета для отчета Структура

 

Рис. 25 – Выбор вида представления отчёта

 

далее задаем название отчета Студенты и их оценки и нажимаем кнопку Готово.

Полученный отчет в режиме Конструктора представлен на рис. 26.


Рис. 26 - Отчет, созданный с помощью Мастера

 

В полученном отчете присутствуют объекты трех видов - Поле, которое в отчете будет показывать данные поля таблицы базы или запроса, Надпись - любой текст в отчете, и Линия - элемент оформления.

В Конструкторе отчет разбит на отдельные зоны, информация которых может присутствовать в отчете один раз (Заголовок отчета), в начале и в конце каждой страницы (Верхний колонтитул и Нижний колонтитул), в начале и в конце каждой группы (Заголовок группы и Примечание группы (доступно после нажатия кнопки Итоги вкладки Конструктор) и для каждой записи таблицы (Область данных). Зоны Примечания более правильно было бы назвать Итоги, т.к. здесь можно поместить поля общих итогов (сумма, среднее и пр.) для группы или всего отчета.

Полученный отчет можно просмотреть на экране, отправить на принтер (например, с использованием соответствующих кнопок на стандартной панели инструментов), в Microsoft Word или Excel (из режима предварительного просмотра).

Вид отчета в режиме предварительного просмотра приведен на рис. 27.


Рис. 27 - Отчет в режиме предварительного просмотра

Созданный Мастером отчет весьма несовершенен. В отчет необходимо добавить названия факультетов, специальностей и предметов и изменить их подписи. Для добавления новых объектов следует использовать вкладку Конструткор, для модификации - окно свойств объекта и контекстное меню, для настройки параметров страницы (полей и размера бумаги) следует воспользоваться вкладкой Параметры страницы.

Для использования в отчете данных справочных таблиц их следует включить в Источник записей окна свойств отчета (см. рис. 28). После нажатия на кнопочку с изображением трех точек откроется окно Построителя запросов, которое после добавления нужных таблиц будет иметь вид, показанный на рис. 29. Для добавления таблиц в запрос (показаны в верхней части экрана Построителя) можно воспользоваться контекстным меню. После этого нужно добавить 3 поля - NAME_F, NAME_P и NAME_S в список используемых полей в нижней части экрана. Далее следует закрыть окно Построителя запросов с сохранением изменений.


Рис. 28 - Окно свойств отчета, страница Данные


Рис. 29 - Построитель запросов для свойства "Источник записей" отчета

После добавления новых таблиц в окне "Список полей" станут доступны для использования новые поля данных. Нам необходимо добавить поля названий из справочных таблиц. Для этого можно использовать 3 способа:

1. Перетащить мышкой названия поля из окна "Список полей" (вкладка Конструктор, Добавить поля) в нужное место отчета в Конструкторе.

2.Выбрать кнопку "Поле" в Панели элементов, щелкнуть мышкой на том месте отчета, где должно располагаться новое поле, задать его главное свойство (в окне Свойства) - "Данные" (выбором из раскрывающегося списка) - соответствующее поле таблицы базы данных и другие свойства, связанные с внешним видом; подпись для данных следует удалить.

3. Изменить значение свойства " Данные " для уже существующего поля (например N_FCLT).

Третий способ имеет преимущество - при его использовании сохраняются свойства раздела " Макет ", заданные для полей данного отчета (шрифт, его размер, насыщенность и пр.).

Кроме того, поместим в отчёт информацию о среднем балле студента, группы, курса, факультета. Для этого выделим поле BALL (см. рисунок 30), нажмём на кнопку Итоги вкладки Конструктор и выберем Среднее.

Рисунок 30 – подсчётсреднего балла студентов

 

Важно: для возможности подсчёта среднего балла поле BALL обязательно должно быть числовым.

 

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


Рис. 31 - Отчет после его модификации в Конструкторе

 

Отчет при печати на бумаге будет выглядеть, как показано на рис. 32.


Рис. 32 - Окончательный вариант отчета, напечатанный на принтере

 

Использование запросов

Ранее отмечалось, что для работы с данными, отобранными в соответствии с каким-либо условием, может быть использована возможность установить фильтр для таблицы базы данных или формы (Главная, Фильтр). В том же пункте есть раздел Расширенный фильтр (Дополнительно, Расширенный фильтр), который открывает окно Конструктора запросов. Кроме того, Конструктор запросов фактически уже использовался при описании источника записей для отчета (см. рис. 24).

Для работы с запросами и для их сохранения в базе в системе Access присутствует специальный раздел, который позволяет создавать новые запросы в режиме конструктора или с помощью Мастера.

Запросы в Microsoft Access бывают нескольких видов:

  • Запрос для отбора данных по заданным сложным условиям из одной или нескольких таблиц баз данных, с группировкой данных для расчета итогов, с показом результатов выполнения запроса в виде таблицы, либо с использованием его для форм и отчетов; после редактирования данных в таблице запроса данные таблиц базы могут обновляться.
  • Перекрестный запрос с формированием двухмерной итоговой таблицы, с группировкой по двум выражениям, одно из которых становится заголовком строки, другое - заголовком столбца.
  • Запрос на создание новой таблицы.
  • Запросы на изменение данных (обновление данных, добавление данных, удаление данных)

Принцип формирования запросов наиболее легко освоить при использовании Мастера запросов. Предположим, нам нужно отобрать тех студентов, которые по предмету Математика имеют только отличные оценки по результатам первого семестра. Для создания запроса выбираем во кладке Создание базы режим Мастер запросов.

На первом шаге следует выбрать таблицы и поля, которые нужно включить в запрос. Выбор полей может быть выполнен из нескольких таблиц базы. Для нашего примера выбираем из таблицы SPISOK поля NZ, FIO, KURS, N_GRUP; из таблицы OCENKI – SEMESTR и BALL; из таблицы PREDM – NAME_P (рис. 33).


Рис. 33 - Выбор полей в Мастере запросов

На шаге 2 ("подробный или итоговый отчет") выбираем подробный отчет. На последнем шаге задаем название запроса Математика и выберем вариант Изменить макет запроса, после чего нажимаем кнопку Готово. Запрос открывается в конструкторе запросов, его вид показан на рис. 34.



Рис. 34 - Конструктор запросов

В верхней части Конструктора запросов показаны таблицы, используемые для отбора данных и связи между ними, в нижней части - таблица для выбора полей, группировки данных (если строки "Групповые операции" нет, нужно нажать на кнопку Итоги вкладки Конструктор), задания сортировки и условий отбора.

Модифицируем запрос для задания условия отбора данных и упорядочения студентов по их фамилии. Для этого в колонке поля FIO зададим сортировку по возрастанию, для поля SEMESTR зададим условие отбора 1 (первый семестр), для поля BALL зададим условие 5 и для поля NAME_P зададим условие " математика ". Если в условии отбора написать текст в квадратных скобках, при выполнении запроса появится окно для ввода этого параметра. Например, если для поля PREDMET в условии написать [ Задайте предмет], можно будет использовать один и тот же запрос для отбора данных по разным предметам.

Можно также убрать галочки у тех полей, которые вы не хотите показывать на экране.

Сохраним запрос и посмотрим его текст в режиме SQL (Structured Query Language). Текст запроса будет выглядеть следующим образом:

SELECT SPISOK.NZ, SPISOK.FIO, SPISOK.KURS, SPISOK.N_GRUP, OCENKI.SEMESTR, OCENKI.BALL, PREDMETS.NAME_P

FROM SPISOK INNER JOIN (PREDMETS INNER JOIN OCENKI ON PREDMETS.[N_PREDM] = OCENKI.[N_PREDM]) ON SPISOK.[NZ] = OCENKI.[NZ]

WHERE (((OCENKI.SEMESTR)=1) AND ((OCENKI.BALL)=5) AND ((PREDMETS.NAME_P)="математика"))

ORDER BY SPISOK.FIO;

Закроем окно конструктора и выполним запрос командой Открыть или двойным щелчком мышью. Результат отбора данных будет показан на экране в виде таблицы (рис. 35). Следует помнить, что редактирование данных этой таблицы приведет к изменению информации в таблицах базы данных!


Рис. 35 - Результаты выполнения запроса

 

Результаты выполнения запроса или данные таблиц можно представить в виде диаграмм и графиков. Создадим запрос, в котором покажем в графическом виде средний балл по студенческим группам (используем поле N_GRUP из таблицы SPISOK и поле BALL из таблицы OCENKI). Для группировки данных, как отмечалось выше, во вкладке Конструктор нажимаем кнопку Итоги.

Получим следующий текст запроса:

SELECT SPISOK.N_GRUP, Avg(OCENKI.BALL) AS [Avg-BALL]FROM SPISOK INNER JOIN OCENKI ON SPISOK.[NZ] = OCENKI.[NZ]GROUP BY SPISOK.N_GRUP;

Для представления данных в виде графика нажимаем правой кнопкой мыши на заголовке с названием запроса и выбираем Сводная диаграмма, после чего открывается окно Построителя диаграмм. Методы оформления диаграмм аналогичны использованию объекта Диаграмма Microsoft Graph в программах Microsoft Word или Excel. На рис. 36. показана диаграмма для приведенного выше запроса.


Рис. 36 - Результаты выполнения запроса с группировкой данных, представленные в виде диаграммы

На рис. 37 приведена трехмерная диаграмма для запроса следующего вида:

SELECT DISTINCTROW FCLT.NAME_F, PREDMETS.NAME_P, Avg(OCENKI.BALL) AS [Avg-BALL]FROM PREDMETS INNER JOIN ((Spisok INNER JOIN OCENKI ON Spisok.NZ = OCENKI.NZ) INNER JOIN FCLT ON Spisok.N_FCLT = FCLT.N_FCLT) ON PREDMETS.N_PREDM = OCENKI.N_PREDMGROUP BY FCLT.NAME_F, PREDMETS.NAME_P;

 


Рис. 3 7 - Результаты выполнения запроса с группировкой данных, представленные в виде трехмерной диаграммы

 

С использованием запросов других видов одной командой можно изменять (команда SQL UPDATE) либо удалять (команда SQL DELETE) данные множества записей таблицы, отобранных по какому-либо условию, а также добавлять записи из других таблиц (команда SQL INSERT).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: