Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
30.04.2013
Размер:
2.03 Mб
Скачать

Параметрический запрос

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

Упражнение 23. Формирование параметрического запроса

Пусть необходимо получить информацию об оценке студента по заданному предмету.

  1. Для создания запроса с параметром на основе существующего запроса " Оценки студента ", необходимо сначала этот запрос скопировать. Для этого: Выберите в окне БД в списке объектов (слева) объект"Запрос", если был выбран другой объект. В окне БД выделите "мышью" Запрос " Оценки студента", а затем щелкните по кнопке"Копировать"и сразу же по кнопке"Вставить" в Панели инструментов Access. Появится окно"Вставка", в котором введите имя копии запроса, а именно"Оценки по предмету"(без кавычек) и щелкните "мышью" по кнопке "ОК".

  1. На базе полученного "Запроса" сделаем "Запрос с параметром", такой, чтобыФИОне был жестко задан, а вводился в диалоге. Для этого: Откройте запрос в режиме конструктора и поле"ФИО"в строке"Условие отбора"вместо Боярской Н.П. введите (обязательно в квадратных скобках):[Фамилия и инициалы студента].Аналогично введите в полеНПвторой параметр запроса:[Наименование предмета]. Текст в квадратных скобках будет выводиться в диалоге при выполнении запроса (Рис.6).

  1. Выполните команду "Запрос - Параметры..."откроется диалоговое окно"Параметры запроса".

  1. Сохраните сформированный запрос щелчком "мыши" по кнопке "Сохранить" и закройте окно запроса.

  1. Откройте параметрический запрос щелчком "мыши" по кнопке "Открыть". Появится окно "Введите значение параметра". Введите Боярская Н.П. в первое диалоговое окно и щелкните "мышью" по кнопке "ОК". Введите Информатика во второе диалоговое окно и щелкните "мышью" по кнопке "ОК". Вы получите оценку Боярской Н.П. по Информатике.

  1. Закройте окно запроса.

Рис.6. Бланк запроса с параметрами для ввода ФИО и НП.

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

Рис 7. Диалоговые окна для ввода параметров

Теория: Работа с формами

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

Упражнение 24. Подготовка к созданию составной формы "Список

студен­тов группы"

  1. Осуществим подготовку к созданию формы для загрузки данных в две таблицы — ГРУППА и СТУДЕНТ (объект загрузки), которые связаны в схеме данных одно-многозначными отношениями.

Определим подсхемы данных для составной формы.

  1. Поскольку объект загрузки ГРУППА—СТУДЕНТ не подчиняет­ся в схеме данных другим таблицам, подсхема, необходимая для построения формы, не должна включать других таблиц. Такая подсхема приведена на рис. 8.

  2. Определим общую структуру составной формы

В соответствии с приведенной подсхемой определим общую струк­туру составной формы, которую назовем СПИСОК ГРУППЫ.

Для того чтобы обеспечить удобный ввод данных с документа, в форме предусмотрим основную часть с реквизитами группы и подчиненную с записями о студентах группы. Подчиненную форму назовем СПИСОК СТУДЕНТОВ.

Таким образом, форму СПИСОК ГРУППЫ определяют:

• тип формы — многотабличная,

• источник записей для основной части формы — таблица ГРУППА,

• включаемая подчиненная форма СПИСОК СТУДЕНТОВ.

Форму СПИСОК СТУДЕНТОВ определяют:

  • тип формы — подчиненная, многозаписевая,

  • источник записей — таблица СТУДЕНТ.

  1. На подсхеме (рис. 8) показано назначение таблиц при созда­нии формы.

  2. Рис. 8. Подсхема данных для конструирования формы ввода/вывода на базе таблиц ГРУППА—СТУДЕНТ

    Разместим реквизиты основной и подчиненной форм. Размещение реквизитов в основной части формы и подчинен­ной форме должно соответствовать входному документу "Список студентов группы".

  3. В основной части составной формы СПИСОК ГРУППЫ вверху разместим названия реквизитов, соответствующие полям табли­цы ГРУППА:

    1. номер группы (НГ-ключ),

    2. количество студентов (КОЛ),

    3. средний балл группы при поступлении (ПБАЛЛ).

Расчетный реквизит ПБАЛЛ включаем в форму, т. к. она будет ис­пользоваться не только для загрузки, но и для просмотра данных.

7. В подчиненной форме СПИСОК СТУДЕНТОВ разместим в ка­честве заголовков столбцов многозаписевой формы названия реквизитов, соответствующих полей таблицы СТУДЕНТ:

  • номер студента в группе (НС),

  • фамилия И.О. (ФИО),

  • год рождения (ГОДР),

  • адрес (АДРЕС),

  • средний балл при поступлении (ПБАЛЛ).

Замечание. Ключевое поле НГ не включено в подчиненную фор­му, т. к. НГ

включен в основную часть формы.

Упражнение 25. Создание формы для двух таблиц с помощью мастера

Создадим средствами Access форму для одновременной загрузки и корректировки двух таблиц ГРУППА и СТУДЕНТ в базе дан­ных Учебный процесс.

Рис. 9. Диалоговое окно выбора режима создания формы

  1. В окне базы данных выбираем закладку Форма (Forms) и нажи­маем кнопку Создать (New). В окне Новая форма (New Form) (Рис.9) выбираем таблицу ГРУППА, которая будет служить источником данных для основной части создаваемой многотаб­личной формы, и Мастер форм (Form Wizard).

  2. В открывшемся окне Создание форм (Form Wizard) выберем для таблицы ГРУППА поля, включаемые в форму (рис. 10). Выберем также вторую таблицу СТУДЕНТ и ее поля. Эта таблица будет источ­ником записей подчиненной формы, связанных с записью ото­бражаемой в основной части формы.

Рис. 10. Первое диалоговое окно мастера форм

Упражнение 26. Выбор типа формы

В следующем окне Создание форм (Form Wizard) уже будет вы­делена таблица ГРУППА для создания основной части формы (рис. 11).

Рис. 11. Окно для выбора типа формы

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

  2. Далее предоставляется возможность выбрать внешний вид подчи­ненной формы — Ленточный или Табличный. Выберем Ленточный для получения многозаписевой подчиненной формы и вывода в ней подписей полей (из струк­туры таблиц) вместо их имен.

  1. В следующем окне выберем стиль оформления Обычный (Standard) с утопленными полями.

Упражнение 27. Назначение имени формы и ее открытие

  1. В последнем окне Создание форм (рис. 12) вве­дем имя составной формы — СПИСОК ГРУППЫ — и подчи­ненной формы - СПИСОК СТУДЕНТОВ.

  1. Выберем также дальнейшие действия мастера — Открытие фор­мы для просмотра или ввода данных.

Рис. 12. Окно ввода имен форм и выбора дальнейших действий мастера

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

Рис. 13.Многотабличная форма, созданная мастером на основе двух взаимосвязанных таблиц

Созданная мастером форма может использоваться для работы с данными и без доработки.

Если в окне Создание форм (Form Wizard) (рис. 12) выбрать дальнейшие действия мастера — Изменение макета формы, мастер закончит свою работу выводом 1 формы в режиме конструктора.

Упражнение 28. Редактирование формы в режиме конструктора

Соседние файлы в папке ЛР7