Файл: Лабораторная базы данных.doc

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Базы данных

Добавлен: 23.10.2018

Просмотров: 1558

Скачиваний: 14

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




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


Создание макроса «Перевод на следующий курс»

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

Макросы — это простое средство программирования в Access. Конструктор макросов позволяет разрабатывать макросы путем выбора команд из списка.


Задание: создайте макрос «Перевод на следующий курс»

Указания: перейдите на вкладку Макросы и щелкните по кнопке Создать. В конструкторе макроса выберите четыре раза одну и ту же команду Открыть запрос, в качестве параметра выбирайте из списка те запросы, которые нужно выполнить.

Сохраните макрос. Запустите его на выполнение и проверьте, что все действия выполняются правильно.


Создание запроса для автоматического добавления строк в таблицу Успеваемость

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

Задание: создайте запрос на добавление в таблицу Успеваемость с двумя параметрами: Код группы и Код предмета.

Указания: для этого запроса нужны таблицы: Студенты, Учебный план, Группы и Специальности. В бланк запроса помещаются поля № зачетки из таблицы Студенты, Код группы из таблицы Группы и Код предмета из таблицы Учебный план. В Коде группы и Коде предмета поставьте переменные параметры в условии отбора. Параметры назовем [Группа] и [Предмет] – не забудьте квадратные скобки!

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

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

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


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


ЛАБОРАТОРНАЯ РАБОТА №6


Цель работы: познакомиться с созданием более сложных форм, предоставляющих пользователю дополнительные удобства при вводе данных. Освоить создание перекрестного запроса при помощи Мастера.


Порядок выполнения работы


Создание формы для ввода успеваемости

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

Вид формы должен быть похож на бланк экзаменационной ведомости (так удобнее и привычнее вводить оценки). Он изображен на рис. 6.1. Кнопка Создать ведомость служит для запуска запроса на добавление в таблицу Успеваемость, созданного в предыдущей работе. Воспользоваться этой кнопкой для заданной группы и заданного предмета можно будет только один раз, второй раз сама Access не позволит добавить лишние строки (т.к. будет нарушена уникальность ключа).

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

Задание: разработайте запрос на выборку для подчиненной формы с двумя параметрами: код группы и код предмета.

Указание: для запроса на выборку нужны таблицы Студенты и Успеваемость. Поместите в бланк запроса поля № зачетки, ФИО, Оценка, Код группы и Код предмета (последние 2 без вывода на экран, но в них задать параметры для условий отбора). Параметры нужно назвать так, как они назывались в запросе на добавление [Группа] и [Предмет]. Проверьте правильность работы запроса.


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

При создании списка для выбора группы, вероятно, возникнет проблема, как отобразить в списке сразу два поля: Буквы и Курс-номер. Мастер не умеет этого делать, поэтому после создания поля со списком мастером придется вручную доработать запрос для списка, созданный мастером (чтобы попасть в Конструктор этого запроса, в Окне свойств поля со списком на вкладке Данные щелкнуть по кнопке с многоточием напротив пункта Источник записей).


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




Форма Успеваемость

Рис 6.1


Теперь осталось самое трудное – привязать параметры запросов к двум полям со списками. Для этого разумно изменить имена полей со списками на Группа и Предмет – имя элемента вы найдете в окне свойств на вкладке Другие. Войдите снова в бланки запросов и введите или постройте Построителем (он вызывается правой кнопкой мыши - Построить) полные имена полей со списком: Forms!Успеваемость!Группа вместо параметра [Группа] и Forms!Успеваемость!Предмет вместо параметра [Предмет].

Создайте макрос для кнопки Создать ведомость. При создании этой кнопки откажитесь от услуг Мастера, поэтому к кнопке не привязано никакого обработчика. Убедитесь в Окне свойств, что вкладка События целиком пустая. Нажимаем кнопку с многоточием напротив события Нажатие кнопки. В появившемся окне построителя выбираем Макросы.

Макрос будет содержать 2 команды: Открыть запрос (запрос на добавление, созданный вами до этого) и Обновление (аргументом команды должно быть имя подчиненной формы). Команда Обновление нужна для того, чтобы добавленные записи сразу отобразились в форме.

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

Запустите на выполнение. Введите успеваемость для нескольких групп по нескольким предметам.

Теперь все таблицы базы данных заполнены.


Перекрестные запросы


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

Создание перекрестных запросов в Access выполняется при помощи Мастера, поэтому обычно не вызывает затруднений.

Задание: Создать при помощи мастера запрос, в котором заголовками строк являются № зачетки студента и его ФИО, а заголовками столбцов – названия предметов. В каждой клетке – оценка определенного студента по определенному предмету. Если предмета нет в учебном плане, то клетка будет пустая. В деканате такой документ называют сводной ведомостью.


Перекрестный запрос (сводная ведомость успеваемости)

Рис 6.2


Указание: сначала создайте обычный запрос на выборку, который содержал бы все необходимые поля. Убедились, что результаты такого запроса выглядят ненаглядно. Затем создайте мастером перекрестный запрос, в результате которого получите результат как на рис.6.2.


ЛАБОРАТОРНАЯ РАБОТА №7


Цель работы: освоить процесс создания отчетов при помощи конструктора отчетов.


Порядок выполнения работы


Задание: создание отчета Список студентов факультета по группам.


Указания и пояснения:

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









Создадим запрос на выборку на основе таблиц Группы и Студенты, в структуру которого включим поля: Код группы, Буквы, Курс-номер, № зачетки, ФИО.

Д
алее нужно выполнить следующие действия: В линейке инструментов выбрать элемент Конструктор отчетов

В открывшемся окне конструктора отчет содержит разделы: Заголовок отчета, Верхний колонтитул, Область данных, Нижний колонтитул, Примечание отчета. Если отсутствует раздел Заголовок отчета, добавим его с помощью кнопки Заголовок/Примечание отчета в контекстном меню.




Разместим в Заголовке отчета название отчета - СПИСОК СТУДЕНТОВ НАШЕГО ФАКУЛЬТЕТА, используя кнопку Надпись на Панели элементов, а также включим в заголовок отчета текущую дату (Дата и время).



В Верхний колонтитул не включаем никаких надписей, а в Нижний колонтитул включим номер страницы. В Область данных размещаем № зачетки и ФИО.

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









и заполнить поля открывшегося окна. В окне должно быть представлено поле Код группы, по которому определена группировка и поле ФИО, по которому определена только сортировка. Для этого необходимо в Свойствах группы для поля Код группы выполнить установки: Заголовок группы - Да, Примечание группы - Да, а для поля ФИО - Заголовок группы - Нет, Примечание группы - Нет.
















Задание: создайте самостоятельно отчеты:

  1. Вкладыш к диплому (отпечатать вкладыши к дипломам всем студентам 5-го курса)

  2. Экзаменационная ведомость (на форму Успеваемость поместите кнопку Предварительный просмотр отчета; параметры запроса для этого отчета привяжите к полям формы Группа и Предмет).



ЛАБОРАТОРНАЯ РАБОТА №8


Цель работы: завершить разработку информационной системы, связав в единое приложение все разработанные объекты базы данных. Знакомство с диспетчером кнопочных форм. Задание параметров запуска.


Порядок выполнения работы

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


Задание: создайте самостоятельно основную форму приложения, содержащую кнопки:

  • Специальности (открывается форма Специальности)

  • Студенты по группам (форма)

  • Студенты по группам (отчет)

  • Успеваемость (на ней должна быть кнопка для просмотра отчета Экзаменационная ведомость)

  • Перевод на следующий курс (запуск макроса Перевод на следующий курс)

  • Вкладыши к диплому

  • Выход


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

Основную форму можно создать одним из двух способов:

  • Создать обычную форму, не привязанную ни к какому источнику данных, и разместить на ней кнопки и надписи к ним.

  • Воспользоваться диспетчером кнопочных форм (Сервис/Надстройки/Диспетчер кнопочных форм). Пользоваться диспетчером несложно, предлагается освоить эту работу самостоятельно.

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









ЛИТЕРАТУРА

  1. Ульман, Д. Введение в системы баз данных /Д.Ульман, Д.Уидом; Пер. с англ. – М.: Лори , 2000. – 512 с.

  2. Базы данных: Учебник для ВУЗов / Под ред. А.Д.Хомоненко — СПб: Корона принт, 2000. – 416 с.

  3. Роджер, Д. Использование Microsoft Access 2000. Специальное издание /Д.Роджерс; Пер. с англ. — М.: Издательский дом «Вильямс» , 2000. – 1152 с.

  4. Ржеуцкая, С. Программирование баз данных. Рабочая программа, методические указания и контрольные задания / С.Ю.Ржеуцкая, Г.Г.Рапаков — Вологда: ВоГТУ, 2002. –19 с.