Файл: Практикум Для студентов вузов Кемерово 2013 4 удк 004 (076) ббк 32. 81я7 И74.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.12.2023
Просмотров: 555
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
4. Система управления базами данных Access
216
Рис. 4.16. Определение параметров связи
После установления связи между таблицами в главной таблице появляется дополнительный столбец со значками
«плюс». Значки указывают на наличие подтаблиц, в которых собраны записи связанной таблицы, отвечающие данной записи главной таблицы. Подтаблица раскрывается щелчком по знаку
«плюс» и закрывается щелчком по знаку «минус», появляюще- муся при открытии подтаблицы.
Прежде чем создавать какие-то запросы на основе связан- ных таблиц, следует проверить и отредактировать схему дан- ных.
Составление запроса на основе связанных таблиц
Последовательность действий при составлении запроса на основе нескольких связанных таблиц практически не отличается от создания запроса на основе одной таблицы. Разница состоит в том, что в область таблиц окна Конструктора надо добавить все таблицы, поля которых используются в запросе для вывода на экран или создания критериев отбора. Также надо добавить те таблицы, через которые проходят связи между таблицами, поля которых используются в запросе, даже если эти промежуточные таблицы непосредственно в запросе не используются.
1 ... 11 12 13 14 15 16 17 18 19
4. Система управления базами данных Access
217
Допустим, надо определить разделы тематики книг, вы- данных студентам механического факультета. В результате вы- полнения запроса на экран можно вывести всего одно поле
«Раздел» из таблицы «Тематика», а для создания критерия отбора использовать поле «Факультет» из таблицы «Учебные группы».
Однако из схемы данных (рис. 4.15) видно, что указанные таб- лицы не связаны непосредственно между собой. Цепочка связи проходит через все таблицы, поэтому их все надо добавить в запрос. Структура запроса будет выглядеть так, как показано на рис. 4.17.
Создание параметрических запросов
Статический запрос легко создать, однако его использова- ние не является легким и удобным. Если необходимо изменить условие отбора (например, выявить тематические разделы книг, выданных студентам другого факультета), приходится каждый раз входить в режим Конструктора и вручную изменять условие, или просто создавать новый запрос.
Избежать этих трудностей можно путем применения па-
раметрического запроса. В таком запросе условие отбора явля- ется неопределенным параметром, т.е. задается в ходе выпол- нения.
Рис. 4.17. Запрос на основе связанных таблиц
4. Система управления базами данных Access
218
Параметром запроса может быть только константа, но не выражение. Для задания параметрического критерия отбора на- до при создании запроса в режиме Конструктора вместо значе- ния критерия ввести в квадратных скобках текст вопроса или предписания пользователю. При запуске запроса на экране поя- вится диалоговое окно с этим текстом и окном ввода для значе- ния параметра. После ввода значения параметра запрос будет выполнен с использованием этого значения в качестве критерия.
Рис. 4.18. Структура параметрического запроса
На рис. 4.18–4.19 показаны структура запроса, аналогич- ного описанному выше статическому, но с использованием па- раметрического критерия – названия факультета, и диалоговое окно ввода параметра.
Рис. 4.19. Ввод значения параметра
4. Система управления базами данных Access
219
Параметрический запрос может включать несколько па- раметров. При выполнении запроса значения этих параметров запрашиваются поочередно.
Задания для самостоятельной работы
1. Открыть схему данных. Проверить наличие связей
«Один ко многим» между таблицами. Схема должна принять вид, соответствующий рис. 4.15. При необходимости установить нужные связи самостоятельно.
2. Создать на основе связанных таблиц два статических запроса на выборку согласно индивидуальному заданию (табл.
4.12, 4.13). Сохранить запросы.
Общее требование к запросам по пунктам 2, 3 настоящего задания: если в запросе требуется получить список студентов, групп или факультетов, то книги, находящиеся в хранилище, не должны отображаться в этом списке.
3. Создать параметрический запрос согласно индивиду- альному заданию (табл. 4.14). Значение поля, обозначенное в задании словами «некоторый», «какой-то» и т.п., должно быть параметром запроса. Сохранить запрос.
4. Открыть схему данных. Установить связь «Один к од- ному» между таблицами «Список книг» и «Исходная цена книги» по ключевым полям таблиц.
5. Создать параметрический запрос на выборку, в котором будут отражены исходные цены книг, выданных какому-либо читателю (по введенному в качестве параметра значению поля
«Фамилия»).
Таблица 4.12
Варианты заданий для составления статического запроса 1
Вариант
Задание: составить запрос для получения списка…
1 книг, выданных студентам экономического факультета
2 книг, выданных студентам определенной группы
3 студентов, получивших книги толщиной от 300 до 600 стр.
4 групп, студенты которых читают книги, изданные до 2000 г.
4. Система управления базами данных Access
220
Окончание табл. 4.12 5 факультетов, студенты которых получили книги по математике
6 фамилий студентов, которые имеют на руках книги толщиной более 500 стр.
7 студентов, получивших на руки дорогие книги
(ценой свыше 500 р.)
8 факультетов, на которых учатся студенты, читающие книги по информатике
9 книг по информатике, выданных студентам с четными номерами читательских билетов
10 книг толщиной свыше 400 стр., выданных студентам технологического факультета
11 фамилий студентов, которым выданы книги по математике или физике
12 книг по техническим наукам, выданных студентам с номерами читательских билетов, превышающими 5 13 номеров читательских билетов студентов, имеющих на руках книги Л. Н. Гумилева
14 книг по техническим наукам, выданных студентам механического факультета
15 цен особо дорогих книг (цена которых превышает
400 р.), выданных студентам экономического факультета, с указанием фамилий студентов и их групп
Таблица 4.13
Варианты заданий для составления статического запроса 2
Вариант
Задание: составить запрос для получения списка…
1 групп, студенты которых получили книги по информа- тике
2 факультетов, студенты которых получили книги по тех- ническим наукам
3 студентов, которые держат на руках книги, изданные до
2006 года
4 групп, студенты которых имеют на руках книги толщи- ной свыше 500 стр.
4. Система управления базами данных Access
221
Окончание табл. 4.13 5 разделов книг, полученных студентами определенной группы
6 книг по информатике, находящихся в хранилище
7 фамилий студентов, имеющих на руках книги по техни- ческим наукам толщиной более 400 стр.
8 факультетов, студенты которых получили книги дешевле 500 р.
9 книг малой стоимости (цена менее 300 р.), выданных студентам технологического факультета с номерами билетов, превышающими 4 10 книг по естественным наукам, находящихся в хранилище
11 книг по математике, выданных на руки (т.е. не находя- щихся в хранилище)
12 разделов, книги по которым не выданы на руки
13 книг по математике и техническим наукам, выданных студентам механического факультета
14 изданных до 2007 года книг по техническим наукам
15 выданных на руки книг по общественным наукам доро- же 500 р. с указанием номеров билетов читателей, кото- рые имеют их на руках
Таблица 4.14
Варианты заданий для составления параметрического запроса
Вариант
Задание: составить запрос для получения списка…
1 книг, выданных студентам какого-то факультета
2 книг, выданных студентам какой-то группы
3 номеров читательских билетов студентов, имеющих на руках книги по какой-то теме
4 студентов, которым выданы книги по какому-то разделу
5 факультетов, студенты которых получили книги по некоторому разделу
6 студентов, которые имеют на руках книгу некоторой толщины
7 студентов, получивших книгу какой-либо цены
8 групп, студенты которых читают книги, изданные в каком-либо году
4. Система управления базами данных Access
222
Окончание табл. 4.14 9 факультетов, на которых учатся студенты, читающие книги какого-либо автора
10 книг толщиной свыше 400 стр., выданных студентам какого-либо факультета
11 книг, выданных студенту с каким-либо номером читательского билета
12 книг, выданных студентам некоторого факультета с номерами читательских билетов, превышающими 4 13 студентов, получивших книги по некоторому разделу толщиной от 200 до 400 стр.
14 книг по некоторому разделу, выданных студентам какого-либо ф-та
15 групп, студенты которых получили книги по какому- либо разделу
4. Система управления базами данных Access
223
Лабораторная работа № 5
Создание формы на основе запроса
Цель работы: развитие навыков создания и редактирова- ния документов в Access 2007.
Создание формы на основе параметрического запроса
В лабораторной работе 2 была создана простая форма для регистрации новой книги, включавшая все поля одной таблицы –
«Список книг». В определенных случаях требуются более слож- ные формы для изменения записей в таблицах.
В качестве примера рассмотрим ситуацию – читатель воз- вращает в библиотеку взятую книгу. Ее надо либо поместить в хранилище, либо выдать другому читателю, желающему ее по- лучить. Для этого надо быстро отыскать в БД запись о книге и изменить значение поля «Читатель».
Поиск записи о книге удобно провести по ее инвентарно- му номеру с помощью параметрического запроса. Для редакти- рования записи можно использовать форму, которая предоста- вит для редактирования именно эту запись. Такая форма созда- ется на основании запроса.
Сначала надо создать и сохранить параметрический за- прос «Поиск книги», параметром которого служит значение по- ля «№». В результате выполнения запроса должны отображаться поля, перечисленные в табл. 4.15.
Таблица 4.15
Поля запроса «Поиск книги»
Таблица БД
Поле
Примечания
«Список книг»
№
Параметр поиска
«Список книг»
Авторы
Отображается для дополнительно- го контроля правильности выпол- няемых действий
«Список книг»
Название
Отображается для дополнительно- го контроля правильности выпол- няемых действий
«Список книг»
Читатель
Редактируемое поле
«Список читателей»
Ф. И. О.
Отображается для дополнительно- го контроля правильности выпол- няемых действий
4. Система управления базами данных Access
224
Для создания формы воспользуемся Мастером форм, ко- торый запускается щелчком по кнопке «Создание» – «Формы» –
[Другие формы] – [Мастер форм]. Работа с Мастером состоит в заполнении окон ввода в поочередно возникающих окнах диа- лога: а) в первом окне (рис. 4.20) выбираются таблица или за- прос, на основании которых создается форма (их может быть несколько), и поля, которые должны быть в ней отображены.
Наша форма создается на основании запроса «Поиск книги» и в ней надо отобразить все поля, перечисленные в табл. 4.15. Это можно быстро сделать щелчком по кнопке [>>], Затем надо щелкнуть [Далее];
Рис. 4.20. Выбор полей для формы б) во втором окне (рис. 4.21) выбирается внешний вид формы путем соответствующей установки переключателя. Схема в левой части окна показывает структуру, которую примет форма при том или ином выборе. Для нашего примера выберем вари- ант «в один столбец». Затем надо щелкнуть [Далее]; в) в третьем окне выбирается стиль формы; г) в четвертом окне надо задать имя формы и щелкнуть
[Готово]. При этом происходит сохранение формы, и она откры- вается для работы. Т.к. форма создана на основании параметри- ческого запроса, при открытии формы СУБД запрашивает зна- чение параметра – номера книги – с помощью окна, аналогично-
4. Система управления базами данных Access
225 го изображенному на рис. 4.19. После ввода параметра открыва- ется форма, структура которой аналогична рис. 4.6. Для ее ре- дактирования надо перейти в режим Конструктора.
Изменение свойств отдельного элемента, добавление над- писей, создание заголовка и примечания проводятся так же, как это делалось в лабораторной работе 2. Изменение расположения элементов и их размеров по отдельности для формы, созданной
Мастером форм, возможны, если при создании выбран внешний вид формы «выровненный» (рис. 4.21).
Рис. 4.21. Выбор внешнего вида формы
Возможные варианты компоновки формы показаны на рис. 4.22.
Поскольку форма предназначена только для перерегист- рации книги, т.е. изменения значения поля «Читатель», значения остальных полей надо защитить от случайных изменений. Для этого при установлении свойств соответствующих окон ввода надо на вкладке «Данные» страницы свойств (рис. 4.8) устано- вить значение свойства «Доступ» – «Нет». После этого установ- ка курсора в окно и изменение значения поля станут невозмож- ными.
4. Система управления базами данных Access
226
Задания для самостоятельной работы
1. Создать с помощью Мастера форм форму для перереги- страции книги по рассмотренному примеру (вид формы – «вы- ровненный»).
2. В режиме Конструктора произвести оформление формы: а) кегль шрифта во всех элементах формы выбрать рав- ным 14, прочие параметры оформления для полей, описываю- щих книгу («№», «Авторы», «Название») и их подписей должны быть такими же, как для надписей в задании к лабораторной ра- боте 2 (табл. 5.8), а для полей, описывающих читателя («Чита- тель», «Ф.И.О.») и их подписей – такими же, как для окон ввода в том же задании. Изменить расположение элементов формы для вариантов с нечетными номерами – по образцу рис. 4.22а; для вариантов с четными номерами – рис. 4.22б. Размеры над- писей и полей подобрать самостоятельно; б) изменить текст подписи поля с «Читатель» на «№ чита- тельского билета»; в) добавить в область данных формы надпись- инструкцию: «Изменить только № читательского билета!».
Обеспечить неизменность всех полей, кроме поля «Читатель»; г) озаглавить форму «Перерегистрация книги»; д) создать примечание формы, в котором указать свою фамилию в качестве разработчика.
3. С помощью формы произвести перерегистрацию какой- либо книги.
Рис. 4.22. Варианты компоновки формы
4. Система управления базами данных Access
227
Лабораторная работа № 6
Создание отчета
Цель работы: развитие навыков создания и редактирова- ния документов в Access 2007.
Как уже говорилось, таблицы, получаемые в результате выполнения запроса, являются временными. Результат выпол- нения запроса можно сохранить, создав по нему отчет.
Допустим, мы хотим иметь сведения о том, студенты ка- ких факультетов интересуются книгами отдельных тематиче- ских разделов. Для этого сначала создадим и сохраним запрос, в котором будут указаны: тематический раздел, параметры книги
(авторы, название, место и год издания) и факультет, на котором учится читатель книги. Книги, находящиеся в хранилище, в ре- зультаты запроса попасть не должны.
Структура запроса показана на рис. 4.23. К перечислен- ным выше полям добавлено поле «Читатель» из таблицы «Спи- сок книг». Оно не отображается в результирующей таблице (снят флажок «Вывод на экран») и служит для создания условия отбора, по которому в результат не попадают книги «читателя № 1», т.е. находящиеся в хранилище.
Рис. 4.23. Запрос для создания отчета
После этого надо щелкнуть кнопку «Создание» – «Отчеты» –
[Мастер отчетов]. Как и в других случаях, работа с Мастером заключается в последовательном выборе параметров отчета