Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.doc
Скачиваний:
7
Добавлен:
15.05.2015
Размер:
1.25 Mб
Скачать

Запрос с параметрами

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

Задание 4.

1. Создайте ведомость оценок учеников по классам (в качестве параметра использовать название класса). Пояснения: создайте перекрестный запрос для ведомости учеников по всем предметам, как показано на рис. 25.

Рис. 25

Однако, такая ведомость является не удобной, так как в ней указаны коды учеников и коды предметов. Чтобы показать ФИО учеников и названия предметов в ведомости, измените бланк запроса следующим образом (рис. 26), добавив в него таблицы «Ученики» и «Предметная ведомость по классам». При этом формула

ФИО: [Фамилия]+" "+Left([Имя];1)+". "+Left([Отчество];1)+"."

позволяет задать новое поле «ФИО», в котором указаны фамилия и инициалы ученика.

Рис. 26

Создайте параметр [Введите класс:], чтобы ведомость оценок можно было выводить по классам. Для этого в бланк запроса добавьте условие отбора по параметру [Введите класс:] на поле «Класс» таблицы «Ученики» (рис. 26).

Рис. 26

В меню запрос выберите команду «Параметры», в списке параметров укажите новый параметр [Введите класс:] с типом данных «Текстовый» (рис. 27).

Рис. 27

Запустите запрос, задайте параметр [Введите класс:]. Сохраните запрос под именем «Ведомость по классам».

2. Создайте ведомость оценок по ученикам (в качестве параметров используются фамилия, имя и отчество ученика). Пояснения: создайте перекрестный запрос, как показано на рис. 28, задайте три параметра: [Введите фамилию:], [Введите имя:], [Введите отчество:]. Сохраните запрос под именем «Ведомость по ученикам».

Рис. 28

3. Создайте ведомость оценок по предметам (в качестве параметров используются название предмета, минимальная и максимальная оценка по этому предмету). Пояснения: создайте перекрестный запрос, как показано на рис. 29, задайте три параметра: [Введите название предмета:], [Мин оценка], [Макс оценка] с типами «Текстовый», «Числовой», «Числовой». Сохраните запрос под именем «Ведомость по предметам».

Рис. 29

Запрос на удаление

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

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

Задание 5.

По окончании учебного года все записи, относящиеся к ученикам 11 класса, должны быть удалены в таблицах «Ученики» и «Предметы». Это можно сделать двумя способами. Первоначально необходимо создать две резервные копии базы данных «Общая школа».

1. При первом способе удалите сначала записи на оценки 11-ти классников из таблицы «Оценки», а затем записи на самих учеников 11-го класса из таблицы «Ученики». Пояснения: в 1-ой резервной копии создайте запрос в режиме конструктора, добавьте таблицы «Ученики» и «Оценки», в меню «Создание» выберите команду «Удаление», перетащите знак «*» из таблицы «Оценки» (так как удалению подлежат все поля этой таблицы) в бланк запроса, заполните бланк, как показано на рис. 30. Запустите запрос (число удаляемых записей должно быть равно числу учеников 11-го класса умноженному на количество предметов в 11-м классе). Сохраните запрос под именем «Удаление оценок 11 классников».

Рис. 30

Для удаления сведений об учениках 11-го класса создайте запрос в режиме конструктора, заполните бланк, как показано на рис. 31. Запустите запрос (число удаляемых записей должно быть равно числу учеников 11-го класса). Сохраните запрос под именем «Удаление 11 классников».

Рис. 31

2. При втором способе записи на 11-ти классников и их оценки удаляются одновременно из обеих таблиц «Оценки» и «Ученики». Но для этого таблицы должны быть связаны отношением «один-ко-многим» (один ученик из таблицы «Ученики» имеет несколько оценок в таблице «Оценки») и для этих таблиц должно быть установлено каскадное удаление записей. Пояснения: во 2-ой резервной копии в меню «Работа с базами данных» выберите команду «Схема данных». Щелкните на стрелке, проведенной между таблицами «Ученики» и «Оценки», вызовите команду «Изменить связь» в контекстном меню, установите параметры, как показано на рис. 32.

Рис. 32

Теперь можно будет удалить сведения сразу из двух таблиц. Для удаления сведений об учениках 11-го класса создайте запрос в режиме конструктора, заполните бланк, как показано выше на рис. 31. Запустите запрос (число удаляемых записей должно быть равно числу учеников 11-го класса). Сохраните запрос под именем «Удаление 11 классников». При этом удалятся и их оценки из таблицы «Оценки».

ВНИМАНИЕ: ВСЕ ОСТАЛЬНЫЕ ЗАДАНИЯ ДЕЛАЮТСЯ НА ОСНОВЕ

1-ОЙ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ!