Смекни!
smekni.com

Уроки по Access (стр. 3 из 3)

С помощью мастера создайте Запрос отрицательных героев в этой же таблице.

С помощью мастера самостоятельно создайте Форму для таблицы «Класс».

Создайте различные типы форм и дайте им различные имена.

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

Занятие 5

Работа со связанными таблицами

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

Поэтому создадим три таблицы — «Студенты», «Предметы», «Оценки» — и заполним их. В первых двух таблицах первое поле имеет тип счетчик, а остальные — текстовый тип. В третьей таблице первое поле имеет тип счетчик, а остальные — числовой тип.

Таблица «Предметы»

Код предмета Название Преподаватель
1 Программирование Половина
2 Психология Сивак
3 Статистика Полыгалова
4 Информационные системы Клигман

Таблица «Студенты»

Код студента Фамилия Имя
1 Антонова Марина
2 Бирих Яков
3 Волков Константин
4 Волошина Светлана
5 Кашина Наталья
6 Ленц Алексей
7 Матвеев Роман
8 Наумова Татьяна
9 Юдинцева Оксана

Таблица «Оценки»

Код оценки Код студента Код предмета Оценка
1 1 1 5

Щелкните на пиктограмму «Схема данных». Вы увидите созданные нами таблицы и связи, которые создал Access. Он автоматически связал поля с одинаковыми именами и совместимыми типами. В других случаях это можно сделать вручную, с помощью мыши — достаточно перетащить одно поле на другое и получить между ними связь.

Обратите внимание, что выставлять оценки неудобно. Чтобы выставить К. Волкову «отлично» по численным методам, надо помнить коды студента и предмета. К счастью, в Access можно оперировать с кодами, а информацию выдавать в текстовой форме. Сделаем это для предметов.

Выберите в таблице «Оценки» поле «Код предмета» и укажите тип «мастер подстановок». В качестве таблицы источника данных выберите «Предметы» и поля «Код» и «Название». Теперь в режиме таблицы можно выбирать названия из списка.

Сделайте то же самое для студентов. А теперь сделаем так, чтобы подстановка выполнялась из двух полей, то есть выводила фамилию и имя. Для этого выберите поле «Код студента», щелкните на вкладке «Подстановка», выберите «Источник строк» и щелкните кнопку с многоточием справа. Откроется построитель запросов, работа с которым не отличается от работы с обычным запросом. Вместо поля «Фамилия» введите строку [Фамилия]&” ”&[Имя]. Теперь при подстановке видна и фамилия студента, и его имя.

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

Поле «Код оценки» нам (в отличие от Access) неинтересно. Выделите этот столбец в режиме таблицы и выберите команду Формат/ширина столбца. Установите ее в ноль. Этого же результата можно добиться «перетягиванием» правой границы столбца к левой.

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

Изменим подписи к полям «Код студента» и «Код предмета». Для этого выберите строку «Подпись» на вкладке «Общие». Теперь таблица «Оценки» выглядит так:

Таблица «Оценки»

Студент Предмет Оценка
Антонова Марина Информационные системы 5
Бирих Яков Информационные системы 4
Волков Константин Информационные системы 5
Волошина Светлана Информационные системы 5
Антонова Марина Психология 5
Бирих Яков Психология 5
Волков Константин Психология 4
Волошина Светлана Психология 5

Задания

Измените ввод в поле Оценка, чтобы вместо цифр выставлялось «отлично», «хорошо» и т. д. Для этого создайте отдельную таблицу и используйте мастер подстановок. При создании таблицы учтите, что существует четыре варианта оценки: «1 — отлично», «2 — хорошо», «3 — удовлетворительно», «4 — неудовлетворительно». Вызовите схему данных и установите связь.

Заполните таблицу «Оценки».

Рассчитайте средний балл каждого студента. Для этого поместите в конструктор запросов таблицы «Студенты» и «Оценки». Выберите поля «Фамилия», «Имя», а вместо «Оценка» введите «6 - оценка». Это необходимо, так как отличной оценке соответствует 1, хорошей — 2 и т.д. Найдите на панели инструментов кнопку «Групповые операции» и нажмите ее. Примените групповую операцию «среднее» — Avg. Access автоматически присвоило построенному выражению имя «Выражение-1». Измените его на «Средний балл».

Выведите список студентов, сдавших экзамены на оценки "хорошо" и "отлично". Для этого проделайте те же операции, что и в предыдущем пункте, но в качестве групповой операции выберите Min — нахождении минимума и задайте условие на отбор — >3. Снимите флажок вывода столбца минимальной оценки на экран.

Сохраните результаты работы в файле students.mdb.

Занятие 6

Дополнительные возможности Access

Откройте базу данных students.mdb.

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

из таблицы «Оценки» — Предмет, Оценка;

из таблицы «Студенты» — Фамилия, Имя;

из таблицы «Предметы» — Преподаватель.

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

Откройте подчиненную форму и примените сортировку по возрастанию для предметов.

Откройте форму студенты в режиме конструктора. Выделите и удалите метку «оценки» (сверху от места внедрения подчиненной формы). Подгоните «вручную» размеры формы.

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

Сделайте еще 4 кнопки — «Предыдущая запись», «Следующая запись», «Последняя запись», «Добавить запись».

Выделите все 5 кнопок. Это можно сделать двумя способами.

Щелкните все кнопки, которые хотите выделить, по очереди, удерживая клавишу Shift.

Используйте «лассо». Нажмите кнопку мыши и, не отпуская ее, растяните рамку вокруг всех кнопок.

Установите выравнивание по нижнему краю, сделайте равным интервал между кнопками, а затем уменьшите его до нуля (пункт меню Формат).

Щелкните правой кнопкой мыши на квадрат в левом верхнем углу формы. Выберите свойства и установите «поле номера записи» в значение Нет.

Сделайте то же самое для подчиненной формы.

Откройте готовую форму «Студенты».

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

Переименуйте созданные формы в «зачетные книжки» и «ведомости».

Создайте кнопки, которые позволяли бы переходить от одной формы к другой. Выберите вкладку «Макросы», команду ОткрытьФорму и имя из предложенного списка («Ведомости»). Создайте аналогичный макрос для «Зачетных книжек».

Откройте форму «Ведомости» в режиме конструктора и «перетащите» на нее мышкой макрос, открывающий «Зачетные книжки». Если все сделано верно, кнопка будет создана автоматически. Для редактирования ее внешнего вида, щелкните правой кнопкой и выберите пункт Свойства.

Сделайте то же для другого макроса.

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

Занятие 7

Зачётное задание

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

Автор Название Год издания Худож? Издательство
Гамильтон, Э. Возвращение к звездам 1992 Да «Селена»
Гамильтон, Э. Оружие извне 1995 Да «Армада»
Уильямсон, Д. Звездный легион 1994 Да «Армада»
Шарф, Д. Основы HTML 1997 Нет «Питер»
Сборник Лучшие игры для IBM 1994 Нет «Питер»
Сборник Java: 1001 совет 1998 Нет «Попурри»
Пономаренко, С. Adobe Photoshop 3.0 1995 Нет BHV
Пономаренко, С. Corel Draw 5.0 1995 Нет BHV
Сборник Delphi 2 в примерах 1996 Нет BHV

Добавьте по своему усмотрению еще несколько строк.

Выполните следующие задания (создайте запросы):

укажите все нехудожественные произведения, вышедшие после 1995 года;

сколько книг выпущено каждым издательством.

Найдите середину интервала, во время которого вышли книги, содержащие в заглавии слова «звезда», «межзвездный» и пр.

Создайте простые формы для ввода фамилий авторов и издательств.

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

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

Закончите оформление приложения.