Часть Б. Создание ИС STUDY

ЛАБОРАТОРНАЯ РАБОТА 1

СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ НА БАЗЕ СУБД ACCESS

1.1 Цель работы

1.2 Методические указания к выполнению работы

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

Часть А. Ознакомление с БД «Борей»

 

1. Создать свой каталог на доступном для записи диске и скопировать в него файл демонстрационной базы данных "Борей" (“Northwind”).

2. Запустить из меню программ MS Access.

3. Открыть свою копию демонстрационной базы данных "Борей".

4. Исследовать вкладки окна базы данных.

5. Из вкладки Формы вызвать главную кнопочную форму, опробовать функциональные возможности приложения.

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

7. Выйти из Access.

8. Удалить свой каталог с диска.

 

Часть Б. Создание ИС STUDY

 

1. Создайте базу данных STUDY.

Выберите пункт меню Файл, затем выберите команду Создать, в появившемся диалоговом окне выберите Новая база данных,укажите путь и имя базы данных и нажмите кнопку ОК.

 

2. Создайте структуру таблиц БД STUDY.

 

Схема БД STUDY имеет вид:

Group (ID_Group, Dekanat)

Subject (ID_Sub, Name_Sub)

Student (ID_Stud, Fam_Stud, ID_Group, Sex, Bdate, Zach_nom, Address, Phone, Photo)

Mark (ID_Stud, ID_Sub, Semestr, Mark, Data)

 

Отношение Group содержит информацию о студенческих группах. Отношение Subject описывает учебные дисциплины, прослушиваемые студентами. В отношениях Student и Mark хранится информация о студентах и их успеваемости соответственно. Описание атрибутов и значения данных отношений приведены ниже (табл.1.1-1.8).

Структуру таблиц удобней создавать в режиме Конструктора таблиц (рис.1.1).

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

Заполнить соответствующей информацией каждый из разделов создаваемой структуры таблицы: Имя поля, Тип данных и Описание. Раздел описаний необязателен для заполнения, но информация, введенная в данный раздел отображается в строке состояния при вводе данных для конкретного поля, облегчая процесс ввода.

 

Рисунок 1.1

 

Ключевое поле назначается следующим образом: выделяется поле, правой кнопкой мыши вызывается всплывающее меню и выбирается пункт Ключевое поле (рис. 1.2).

 

 

2.1 Сформируйте отношения Group и Subject, структуры которых приведены в таблицах 1.1 и 1.2 соответственно, и заполните их данными (табл.1.3, 1.4).

 

Таблица 1.1 ­– Структура таблицы Group

Имя поля Тип данных Индексы Содержание
ID_Group Текстовый (50) Первичный ключ Название студенческой группы
Dekanat Текстовый (50)   Название деканата

 

Таблица 1.2 ­– Структура таблицы Subject

Имя поля Тип данных Индексы Содержание
ID_Sub Числовой Первичный ключ Номер учебной дисциплины
Name_Sub Текстовый (50)   Название дисциплины

 

 

Таблица 1.3 ­– Отношение-экземпляр Group Таблица 1.4 ­– Отношение-экземпляр Subject

       
   
ID_Sub Name_Sub
Программирование
Математический анализ
Базы данных
Функциональный анализ
Философия науки

 

 
ID_Group Dekanat
ПМ-06-1 ПММ
ПМ-06-2 ПММ
ПМ-06-3 ПММ
ПМ-06-4 ПММ
ПМ-07-1 ПММ
ПМ-07-2 ПММ
ПМ-07-3 ПММ
ЭК-06-1 ПММ
ЭК-06-2 ПММ

 

 

 


2.2 Создайте структуры отношений Student и Mark (в качестве типа полей, являющихся внешними ключами, указывать Мастер подстановки).

 

Структуры отношений Student и Mark приведены в таблицах 1.5 и 1.6 соответственно.

 

Таблица 1.5 ­– Структура таблицы Student

Имя поля Тип данных Индексы Содержание Прочее
ID_Stud Числовой Первичный ключ Номер студента  
Fam_Stud Текстовый(50)   ФИО студента  
ID_Group Текстовый(50)   Номер группы   Внешний ключ (ссылается на первичный ключ ID_Group отношения Group) Подстановка: тип элемента управления - поле со списком; тип источника строк – таблица или запрос; источник строк - SELECT Group.ID_Group FROM [Group]; число столбцов-1; присоединенный столбец-1; ширина столбцов - 2,54см; ширина списка - 2,54см
Sex Текстовый(50)   Пол (“муж”/”жен”) Условие на значение: 'муж' Or 'жен' Подстановка: тип элемента управления - поле со списком; тип источника строк – список значений; источник строк - "муж";"жен" число столбцов-1; присоединенный столбец-1; ширина столбцов - 2,54см; ширина списка - 2,54см
Bdate Дата/время   Дата рождения Маска ввода: 00.00.0000 Условие на значение: >#01.01.1900# And <Now()
Zach_nom Текстовый(50)   Номер зачетки  
Address Текстовый(50)   Адрес  
Phone Текстовый(50)   Телефон  
Photo Поле объекта OLE   Фотография Заполняется уже в форме

 


Таблица 1.6 ­– Структура таблицы Mark

Имя поля Тип данных Индексы Содержание Прочее
ID_Stud Числовой Часть составного первичного ключа Номер студента   Внешний ключ (ссылается на первичный ключ ID_Stud отношения Student) Подстановка: тип элемента управления - поле со списком; тип источника строк – таблица или запрос; источник строк - SELECT Student.ID_Stud FROM Student; число столбцов-1; присоединенный столбец-1; ширина столбцов - 2,54см; ширина списка - 2,54см
ID_Sub Числовой Часть составного первичного ключа Номер учебной дисциплины   Внешний ключ (ссылается на первичный ключ ID_Sub отношения Subject) Подстановка: тип элемента управления - поле со списком; тип источника строк – таблица или запрос; источник строк - SELECT Subject.ID_Sub, Subject.Name_Sub FROM Subject; присоединенный столбец-1; число столбцов-2; ширина столбцов – 0; 4,54см; ширина списка - 4,54см
Semestr Числовой Часть составного первичного ключа   Условие на значение: >=1 And <=10
Mark Числовой     Условие на значение: Between 0 And 100
Data Дата/время     Значение по умолчанию: Now()

 

Для формирования составного первичного ключа выделите несколько полей и выберите пункт меню Ключевое поле (рис.1.2)

Рисунок 1.2

 

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

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

При формировании структуры отношений Student и Mark реализуйте такие подстановки:

а) для поля ID_Group таблицы Student в качестве подстановки выберите поле ID_Group таблицы Group. Выполните такие действия:

- выберите тип поля ID_Group Мастер подстаноки (рис.1.3);

- проверьте, что в качестве значения столбца установлена таблица или запрос (рис.1.4);

- выберите таблицу Group;

- укажите поле подстановки ID_Group (рис.1.5);

- просмотрите вид подстановки, если необходимо, отредактируйте ширину столбца подстановки (рис.1.6), выберите Далее и Готово.

 

После работы мастера свойства поля ID_Group будут выглядеть, как показано на рисунке 1.7, и автоматически сформируется связь между отношениями Group и Student, что можно просмотреть, если выбрать команду Сервис / Схема данных. Останется только настроить параметры обеспечения целостности данных.

 

 

 

 


Рисунок 1.3

 

 
 

 


Рисунок 1.4

 

 
 

 


Рисунок 1.5

Рисунок 1.6

Рисунок 1.7

 

б) для поля ID_Stud таблицы Mark выберите два поля ID_Stud и Fam_Stud таблицы Student (рис. 1.8) (если установить флажок Скрыть ключевой столбец, по при вводе значения студента будет отображаться только его ФИО (рис.1.9), хотя на самом деле при подстановке заносится всегда значение ключевого поля, т.е. номер студента ID_Stud);

 

 

 
 

 


Рисунок 1.8

 

 
 

 


Рисунок 1.9

 

в) для поля ID_Sub таблицы Mark выберите два поля ID_Sub, Name_Sub таблицы Subject (рис.1.10), значения поля ID_Sub таблицы Subject будут непосредственно записываться в таблицу Mark, однако отображать будут значения Name_Sub;

 

Рисунок 1.10

г) для поля Sex таблицы Student выберите флажок Введите фиксированный набор значений и сформируйте список: “муж” и “жен”(рис.1.11).

 

Рисунок 1.11

 

3. Отредактируйте Схему данных БД (настройте параметры обеспечения целостности данных).

 

Если при создании структур таблиц использовался Мастер подстановки, он сформировал связи и остается настроить параметры обеспечения целостности данных:

- выполните команду Сервис/ Схема данных. Появится окно Схема данных;

- подведите указатель мыши на изображение связи;

- двойным щелчком вызовите диалоговое окно Связи (рис.1.12);

- для автоматической поддержки целостности БД установить флажок Обеспечение целостности данных, а также флажки:

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

 

Рисунок 1.12

 

После установления флажка Обеспечение целостности данных схема данных примет вид как на рисунке 1.13.

 

Рисунок 1.13

 

 

Если связи устанавливаются впервые:

- выполните команду Сервис/ Схема данных. Появится окно Схема данных. Появится диалоговое окно Добавление таблицы. Если окно Добавление таблицы отсутствует, его можно открыть, выбрав Связи / Добавить таблицу или выбрать пиктограмму Добавить таблицу;

- выбрать таблицу, которая будет использоваться для установки связей, затем выполнить щелчок на кнопке , для добавления таблицы в окно Схема данных;

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

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

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

- выполнить щелчок на кнопке . Затем закрыть окно Связи. При запросе о сохранении связи выполнить щелчок на кнопке .

 

4. Наполните отношения Student и Mark данными (табл.1.7,1.8.).

 

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

 

 

Таблица 1.7 ­– Student

ID_Stud Fam_Stud ID_Group Sex Bdate Zach_nom Address Phone Photo
Иванов Василий Давыдович ПМ-06-1 муж 22.05.1990   А1 8-050-123-45-55  
Петрова Ирина Семеновна ПМ-06-4 жен 24.04.1991   А2 8-050-567-657-34  
Александрова Катерина Петровна ПМ-06-3 жен 02.07.1990   А3 8-067-555-77-99  
Воронова Елена Федоровна ЭК-06-1 жен 22.05.1990   А4 8-067-345-76-77  
Абрамова Людмила Григорьевна ПМ-06-1 жен 07.08.1991   А5 8-050-888-56-44  

 

Таблица 1.8 ­– Mark

ID_Stud ID_Sub Semestr Оценка Data
Программирование 20.05.2007
Математический анализ 27.05.2007
Базы данный 01.06.2007
Программирование 22.05.2007
Математический анализ 27.05.2007
Базы данный 01.06.2007
Программирование 22.05.2007
Математический анализ 27.05.2007
Программирование 22.05.2007
Математический анализ 27.05.2007

 

 

5. Проверьте, как поддерживается сохранение целостности данных:

 

- отслеживание каскадного удаления данных (целостность ссылок):

o в окне БД выберите таблицу Student, откройте ее в режиме Таблицы;

o удалите одного студента из таблицы Student;

o откройте таблицу Mark и убедитесь, что вся информация об успеваемости данного студента исчезла;

o восстановите данные;

- отслеживание каскадного обновления данных (целостность ссылок):

o в окне БД выберите таблицу Student, откройте ее в режиме Таблицы;

o измените у одного из студентов значение поля ID_Stud;

o отследите изменения в других таблицах;

- отслеживание нарушений требований к уникальности кортежей (целостность сущности):

o в окне БД выберите таблицу Student, откройте ее в режиме Таблицы;

o попробуйте ввести двух студентов с одинаковым номером;

o изучите сообщения об ошибках;

- отслеживание нарушений дополнительных требований к данным (корпоративная целостность):

o в окне БД выберите таблицу Student, откройте ее в режиме Таблицы;

o введите новую запись со значением поля Mark равным 120;

o изучите сообщения об ошибках.

 

6.Создайте запросы к БД STUDY с помощью схемы QBE (Query by example).

 

Данные запросы называются запросами по образцу.

Для работы с запросами в Аccess существует три режима:

- конструктор (задание требований к запросу средствами схемы Query by example);

- режим таблицы (просмотр результата отработки SQL инструкции);

- режим SQL (задание требований к запросу средствами SQL инструкции).

Выбор режима осуществляется с помощью кнопки Вид (первая слева) или меню Вид/… после перехода в режим конструктора запроса.

6.1 Создайте запрос-выборку.

Запрос1. Создать запрос, содержащий поля: ФИО студента, дату рождения, включающий только тех студентов, фамилии которых начинаются с буквы "А". Список должен быть отсортирован по дате рождения по возрастанию.

Для этого необходимо выполнить следующую последовательность действий:

- при выбранной вкладке Запросы окне БД выполнить щелчок по кнопке . Открывается окно Новый запрос, в котором выбрать режим создания запроса Конструктор, затем - ;

- открывается окно Запрос1: запрос на выборку, а затем активизируется окно Добавление таблицы, в котором выбрать из списка таблиц таблицу Student щелчком мыши по имени таблицы, а затем выполнить щелчок по кнопке , после чего закрыть окно Добавление таблицы;

- окно Запрос1: запрос на выборку, состоит из 2-х частей:

o в верхней части размещаются выбранные таблицы или запросы, на базе которых строится запрос;

o в нижней части расположен бланк построения запроса QBE (Query by example - запрос по образцу);

- при помощи мыши переместить нужные поля из выбранной таблицы и задать способы сортировки и условия отбора из таблицы. Для этого:

o выделить поля для запроса при помощи мыши в комбинации с клавишами Shift или Ctrl и отбуксировать на бланк построения запроса QBE. Поля можно перемещать в бланк QBE и по одному, а также путем двойного щелчка мыши;

o в строке Поле поля размещаются по столбцам слева направо;

o в строке Имя таблицы отображается имя таблицы, из которой выбрано поле;

o в строке Сортировка в столбце поля bdate установить сортировку по возрастанию;

o в строке Вывод на экран можно отключить вывод поля на экран, убрав флажок для соответствующего поля;

o в строке Условие отбора в столбце fam_Stud ввести условие Like ‘А*’. Перед вводом буквы А перейти на русский шрифт. Оператор Like позволяет создать шаблон символьной строки для сравнения со значениями экземпляра-отношения;

o окончательный вид окна конструктора запросов будет иметь вид представленный на рисунке 1.14 , вид инструкции SQL приведен на рисунке 1.15;

- закрыть окно конструктора запроса и ввести имя запроса fam_bdate в ответ на вопрос сохранить изменения или нет. В окне базы данных при выбранной вкладке Запросы появится запрос с именем fam_bdate.

Рисунок 1.14

 

Рисунок 1.15

Выполните запрос на выборку.

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

Также запрос можно выполнить из режима конструктора или режима SQL путем перехода в табличный режим или путем нажатия кнопки «!» на панели инструментов.

 

Запрос2. Отредактируйте запрос fam_bdate:

- добавьте требование также выводить фамилии, которые начинаются на букву ‘И’ (Добавьте в Условие отбора требование Like 'И*');

- добавьте требование выводить фамилии только девочек, причем результат должен содержать только два поля: ФИО студента, дату рождения.

Запрос3.Отмените все требования, находящиеся в разделе Условие отбора. Выведите только тех студентов, которые родились в 1990 г. (Like '*1990').

6.2 Создайте параметрические запроcы

 

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

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

 

Сформируйте запросы:

Запрос 4. Из таблицы Student вывести информацию (фамилия, группа, телефон) только для девочек или для мальчиков (пол выбирает пользователь) (рис.1.16). Посмотрите, как выглядит данный запрос в режиме SQL (рис. 1.17).

Рисунок 1.16

 

Рисунок 1.17

 

Запрос 5. Вывести информацию о студентах группы, которую задает пользователь.

Запрос 6. Вывести информацию об оценках (номер студента, предмет, оценка, дата) за дату, введенную пользователем.

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

 

6.3 Создайте многотабличные запросы

Для того чтобы выбрать необходимые данные сразу из нескольких таблиц, следует в верхнюю часть окна конструктора поместить эти таблицы, а критерии отбора будут, как и раньше, определены в сетке QBE.

Запрос 8.Составьте запрос на основе следующих данных: ФИО студента, группа, название предмета, оценка, дата (рис.1.18).

Рисунок 1.18

6.4 Создайте агрегирующие запросы(с содержанием групповых операций)

В стандартном SQL существует пять агрегатных функций: COUNT, SUM, AVG, MAX, MIN. Функции SUM и AVG могут работать только с цифровыми полями. Функции COUNT, MAX, MIN работают как с цифровыми так и с символьными полями

Запрос 9.Сформировать запрос, который выдает информацию: название дисциплины и количество сдавших ее студентов (рис.1.19).

Раздел Групповая операция добавляется в бланк конструктора путем выбора пункта меню Вид /Групповые операции или выполнив щелчок по соответствующей пиктограмме на панели инструментов.

 
 

 


Рисунок 1.19

 

Запись «Кол-во:» во второй колонке позволяет назначить надпись в названии столбца при отображении результата запроса. Инструкции SQL для данного запроса имеет вид, показанный на рисунке 1.20, результат представлен на рисунке 1.21.

 

SELECT Subject.Name_Sub, Count(Mark.Mark) AS [Кол-во]

FROM Subject INNER JOIN Mark ON Subject.ID_Sub = Mark.ID_Sub

GROUP BY Subject.Name_Sub;

Рисунок 1.20

 

 
 

 

 


Рисунок 1.21

Запрос 10.Получите запрос, который содержит ФИО студентов и их средний бал (рис.1.22).

 

Рисунок 1.22

Запрос 11*. Сформируйте запрос CountCroupStud, который выводит количество студентов в каждой группе.

 
 

 


Рисунок 1.23

Запрос 12*. Сформируйте запрос, который выводит максимальную оценку, средний балл, минимальную оценку в каждой из групп, а также количество студентов, сдававших экзамен в каждой из групп.

 
 

 


Рисунок 1.24

6.5 Создайте перекрестный запрос

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

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

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

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

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

 

Рисунок 1.25

Сначала необходимо построить запрос, содержащий все необходимые поля, а именно: ФИО студентов, название дисциплин, оценки (рис.1.26). Результат представлен на рисунке 1.27.

Рисунок 1.26

 

Рисунок 1.27

 

Теперь на основе запроса FamSubMark создайте перекрестный запрос:

- при выбранной вкладке Запрос выполните щелчок по кнопке , далее выберите «Перекрестный запрос» (рис.1.28);

 

Рисунок 1.28

- выполняйте дальнейшие действия как показано на рисунках 1.29-1.33., причем не забудьте снять «галочку» подсчета итоговых значений по строке (рис.1.32).

 

 
 

 

 


Рисунок 1.29

 

 
 

 

 


Рисунок 1.30

 
 

 


Рисунок 1.29

 
 

 

 


Рисунок 1.30

 
 

 


Рисунок 1.33

 

7 Создайте формы на основе имеющихся таблиц.

 

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

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

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

 

7.1 Создайте форму для таблицы Group с помощью мастера (рис.1.34):

- выберите Создание форм с помощью мастера;

- выберите таблицу Group;

- укажите Внешний вид формы «в один столбец»;

 

Рисунок 1.34

 

7.2 Создайте сложноподчиненную форму (рис.1.35) (не используя режим автоформа):

- отройте форму Group;

- перейдите в режим конструктора формы;

- подготовьте место, где будет расположена информация из таблицы Student;

- выберите на Панели инструментов инструмент Подчиненная форма/отчет (рис.1.35) и нарисуйте им прямоугольник на форме Group, при этом должна быть включена кнопка мастера . Включение мастера позволяет выбирать некоторые действия из

предложенного мастера;

Рисунок 1.35

- подправьте в конструкторе все элементы, чтобы форма имела вид как на рисунке 1.36.

 
 

 


Рисунок 1.36

 

7.3 Создайте форму на основе таблицы Student в режиме автоформы (рис.1.37):

- сделайте активной в таблицу Student в окне базы данных;

- выберите пункт меню Вставка/Автоформа или соответствующую кнопку;

- заполните поле Photo. Нажмите правой кнопкой мыши, выберите Добавить объект, укажите графический файл, содержащий фотографию;

- при необходимости отредактируйте свойства отображения поля (всплывающее меню);

- заполните поле Zach_nom;

- перейдете в режим конструктора форм и отредактируйте надписи (оформите их на русском языке).


 


Рисунок 1.37

 

7.4 Добавьте на форму кнопку для закрытия окна (рис.1.38):

 
 

 

 


.

 

Рисунок 1.38

 

8 Создайте макрос для выхода МакросВыход из ИС STUDY.

 

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

Макрос создается в окне конструктора макросов (рис.1.39). Для вызова данного окна активизируйте в окне БД тип объекта Макрос и нажмите Создать.

Окно создания макросов состоит из двух панелей:

- панели макрокоманд (в верхней части окна);

- панели аргументов (в нижней части окна).

 

Рисунок 1.39

 

Для создания макроса закрытия приложения необходимо в панели макрокоманд выбрать макрокоманду Выход (рис.1.40).

 

 
 

 


Рисунок 1.40

 

 

9 Сформируйте меню информационной системы STUDY (табл.1.9).

 

Таблица 1.9 ­– Пункты меню информационной системы STUDY

Название пункта первого уровня Название пункта второго уровня Содержание Подключение (действие)
Справочная информация группы просмотр, добавление и редактирование информации о группах форма Group
студенты просмотр, добавление и редактирование информации о студентах форма Student
дисциплины просмотр, добавление и редактирование информации об учебных дисциплинах таблица Subject
Успеваемость оценки просмотр, добавление и редактирование информации об успеваемости студентов таблица Mark
средний бал просмотр среднего бала студентов запрос FamAvgMark  
сводная ведомость просмотр оценок студентов по всем предметам в удобной форме запрос FamSubMark_перекрестный
статистика просмотр информации о количестве полученных оценок запрос MarkSubCount
Выход выход из ИС макрос МакросВыход

 

Для создания меню выполните следующие действия:

а) создайте новую панель инструментов (пустое меню):

- выберите Сервис/ Настройка/Панели инструментов;

- выберите Создать, ввести имя меню ;

- измените тип появившейся панели, для чего нажать Свойства;

- выберите тип: Строка меню;

б) добавьте в меню списка команд:

- откройте окно Настройка / страница Команды;

- категория Новое меню;

- перетащите элемент Новое меню из списка Команды на новую панель;

- при открытом окне Настройка нажмите правой кнопкой на Новом меню и в выпадающем меню выберите свойства для изменения первоначальной записи Новое меню на нужное (например, Справочники);

- по-прежнему находясь в Настройка/Команды выберите Все формы и перетащить в меню нужные формы, тоже сделать с другими объектами (Все таблицы или Все запросы), которые должны вызываться из меню;

- чтобы изменить названия пунктов меню, надо щелкнуть правой кнопкой мыши на команде меню и откорректировать текст в поле Имя контекстного меню ;

Дополнительные возможности оформления меню:

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

- изменение стиля (отображать рисунок и текст или только текст).

в) добавьте следующее меню со списком в строку меню:

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

10* Дополнительное задание

 

Создать макрос, который будет вызываться при нажатии на кнопку на форме Group, и выполняет вывод дополнительной информации о текущей группе.

Подготовительная работа:

- Откройте форму Group в режиме конструктора;

- Измените запрос 11 CountCroupStud так, чтобы выводилась информация только для той группы, которая выбрана в данный момент на форме Group (рис.1.41).

Осуществить доступ к значению элемента формы можно с помощью служебного слова Forms! . Например, обращение к элементу управления [Поле] ID_Group выглядит к следующим образом

 

Forms! Group! ID_Group.

 

Для использование данного выражения в качестве условия отбора строк в запросе CountCroupStud добавьте его в строку Условие отбора конструктора запроса.

 

 
 

 

 


Рисунок 1.41

Внимание! Данный запрос будет работать только при открытой форме Group, т.к. для его выполнения должна быть указана группа, для которой выполняется запрос.

Сохраните переделанный запрос под другим именем CountOneCroupStud.

- Аналогично измените запрос 12 Stud_MarkMaxAvgMinGroup так, чтобы выводилась информация только для той группы, которая выбрана в данный момент на форме Group (рис.1.42). Сохраните запрос как Stud_MarkMaxAvgMinOneGroup.

 


 

 


Рисунок 1.42

 

- Создайте макрос GroupDopInf, который будет последовательно запускать запросы CountOneCroupStud, Stud_MarkMaxAvgMinOneGroup. Для этого активизируйте объект Макрос и нажмите Создать. В панели макрокоманд выберите макрокоманду ОткрытьЗапрос и в агрументах макрокоманды введите Имя запроса : CountOneCroupStud (рис.1.43). Тоже повторите во второй строке и введите Имя запроса: Stud_MarkMaxAvgMinOneGroup. Сохраните макрос под именем GroupDopInf.

 
 

 


Рисунок 1.43

- Вернитесь к форме Group. В режиме конструктора поставьте кнопку и на вопросы мастера (мастер должен быть включен) выберите Разное, Выполнить макрос (1.44). Далее выберите из предложенного списка макросов GroupDopInf. На следующей странице в блоке текст укажите Дополнительная информация о группе. В результате форма примет вид, как показано на рисунке 1.45. При нажатии на кнопку появляется информация о количестве студентов и об успеваемости текущей группы (рис.1.46).


 
 


Рисунок 1.44


Рисунок 1.45

Рисунок 1.46

Отчет должен содержать:

Реляционную схему данных