Создание иерархических списков (Лабораторная работа № 7)

Страницы работы

Содержание работы

Лабораторная  Работа № 7

ТЕМА :  иерархические  списки

СРОК  СДАЧИ :  14 апреля 2003 г.

ЦЕЛЬ РАБОТЫ :  Приобретение навыков создания иерархических списков.

ТЕОРЕТИЧЕСКИЕ ЗНАНИЯ :  Создание иерархических списков. Обновление данных. Выполнение исполняемых запросов. Отключение сообщений

Методические указания

Иерархические списки

Для просмотра и работы с большим объёмом данных их необходимо фильтровать и выводить на экран данные, отвечающие одному или нескольким критериям отбора.

Для иллюстрации этого приёма рассмотрим форму Состав, которая позволяет формировать состав группы. При этом выполняются следующие правила:

Ø  группы существуют только в течении одного учебного года;

Ø  студент может числиться только в одной группе специальности, на которую он поступил.

Форма Состав содержит пять зависимых друг от друга списков:

Ø  поле со списком Учебный год позволяет выбрать любой учебный год, введённый в базу данных;

Ø  поле со списком Специальность позволяет выбрать любую специальность, введённую в базу данных;

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

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

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

Все списки основаны на запросах, в которых в качестве условий отбора указаны значения соответствующих полей в форме.

Обновление данных

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

ИмяФормы.ИмяЭлементаУправления.Require

Например, фрагмент кода

Me.КодГруппы.Require

осуществляет обновление элемента управления КодГруппы в текущей форме.

Метод Require (обновление) элемента управления выполняет пересчёт источника данных (запроса или таблицы) и используется при изменении условия отбора или данных в таблице.

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

DLookUp ( ИмяПоля , Источник [ , УсловиеОтбора ] )

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

Источник – обязательный параметр. Строковое выражение – имя таблицы или запроса;

УсловиеОтбора – необязательный параметр. Строковое выражение – условие отбора.

Функция возвращает значение указанного поля из указанной таблицы или запроса находящееся в первой записи, отвечающей условию отбора. Если источник не содержит записей – возвращает Null.

Выполнение исполняемых запросов

Форма Состав содержит пять списков, предназначенных для отображения данных, но эти списки не позволяют прямо изменять данные в таблицах. Изменение состава группы осуществляется путём добавления и удаления записей из таблицы Состав с помощью запросов на удаление (СоставУдаление, СоставУдалениеВсех) и добавление (СоставДобавление, СоставДобавлениеВсех). Эти запросы выполняются при нажатии соответствующих кнопок.

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

С помощью кнопки Вид откройте запрос в режиме SQL, скопируйте строку инструкции SQL и вставьте её в качестве параметра макрокоманды RunSQL. Например:

DoCmd.RunSQL “DELETE Состав.КодГруппы FROM Состав WHERE (((Состав.КодГруппы)=1));”

Другой способ выполнения исполняемого запроса заключается в вызове макрокоманды OpenQuery, у которой в качестве параметра используется строка с именем запроса. Например:

DoCmd.OpenQuery "СоставУдалениеВсех"

Отключение сообщений

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

В некоторых случаях подтверждение не требуется. Для отключения запросов среды Access нужно воспользоваться макрокомандой SetWarnings, которая имеет только один логический параметр. Если параметр равен False – сообщения отключаются, True – отображаются на экране. Следует отметить, что навсегда отключать сообщения нецелесообразно. Поэтому после выполнения запроса режим вывода на экран сообщений Access опять включают. Например:

DoCmd.SetWarnings False

DoCmd.OpenQuery "СоставДобавление"

DoCmd.SetWarnings True

Иерархические запросы

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

Похожие материалы

Информация о работе