Лабораторная работа: Базы данных на логическоми и функциональном программировании
Пусть нужно создать список студентов, обучающихся в одной из групп, причем фамилии студентов должны быть упорядочены по алфавиту. Для этого:
1. Войдите в режим конструктора запроса и в столбце бланка запроса, содержащим поле SGroup, в строке Условие отбора наберите шифр группы, имеющийся в таблице. Пусть, например, это будет «АП51». По умолчанию предполагается проверка условия равенства. Другие отношения (<>, >=, <=, >, <, Like, In, Between) необходимо указывать.
2. Сбросьте флажок в строке «Вывод на экран» для поля SGroup, чтобы оно не отображалось при запуске запроса.
3. Встаньте на столбец FIOS в строку «Сортировка» и нажмите клавишу <F4>, чтобы отобразить список способов сортировки. Выберите способ сортировки «по возрастанию». Бланк запроса примет вид:
Поле : | SGroup | FIOS |
Имя таблицы : | Student | Student |
Сортировка: | По возрастанию | |
Вывод на экран: | Ú | |
Условие отбора: | “АП51” | |
или: |
4. Выполните запрос.
Вызов запросов из формы:
Пусть необходимо создать запрос, осуществляющий вывод списка студентов из группы, определяемой пользователем. Для этого выполните следующие действия:
1. Создайте в режиме конструктора форму «Список студентов в группе». При создании формы не указывайте источник данных.
2. Установите на форме элемент управления: Поле со списком с наименованием «Шифр группы». Нажмите на панели инструментов кнопку «Мастер элементов», если она не утоплена. Таблица Group содержит шифры групп, из которых будет осуществляться выбор. Поэтому в первом окне «Мастера списков» установите переключатель «Таблица или запрос …» и нажмите кнопку «Далее».
3. В списке нового диалогового окна выберите таблицу Group. Нажмите кнопку «Далее». Появится третье диалоговое окно «Мастера списков».
4. Для создаваемого списка необходимо поле SGroup. Поэтому выделите это поле в списке «Доступные поля» и нажмите кнопку «>» для перемещения поля в список «Выбранные поля». Нажмите кнопку «Далее». Появится следующее окно.
5. В этом окне отображается список значений для поля со списком. Убедитесь, что флажок «Скрыть ключевой столбец» сброшен. Нажмите кнопку «Далее».
6. В последнем диалоговом окне можно установит подпись поля со списком. В текстовом окне этого диалогового окна введите Шифр группы и нажмите кнопку «Готово».
7. Вернитесь в бланк запроса. Встаньте на строку «Условие отбора» первого столбца и удалите, содержащийся там текст. Щелкните правой клавишей и выберите команду «Построить». Появится окно «Построителя выражений». В этом окне в нижнем левом углу содержится список всех используемых объектов. Выберите Formи раскройте список всех форм, в этом списке выберите форму «Список студентов в группе».
8. В среднем нижнем окне появится список элементов управления, находящихся на форме. Выберите Поле со списком Шифр группы и щелки щелкните клавишу «Вставить». Нажмите «ОК», чтобы закрыть «Построитель выражений». Бланк запроса должен принять вид.
Поле : | SGroup | FIOS |
Имя таблицы : | Student | Student |
Сортировка: | По возрастан | |
Вывод на экран: | Ú | |
Условие отбора: | Forms![Список студентов в группе]![Шифр группы] | |
или: |
9. Вернитесь в конструктор форм.
10. Отключите на панели кнопку «Мастер элементов» и установите на панели кнопку управления. Установите для этой кнопки свойство «Название»: «Список_студентов». Выберите в свойствах вкладку «События». Среди событий выберите событие «Нажатие кнопки» и в появившемся списке выберите пункт «Программа». Введите текст DoCMD.OpenQuery“Список студентов”.
11. Вызовите форму на выполнение. Выберите с помощью выпадающего списка шифр группы и нажмите кнопку управления.
Использование более сложных условий.
Пусть требуется построить следующий запрос: «Построить список студентов заданной группы, поступивших в институт либо после 2002 года, либо до 1999». Условие, по которому будут выбираться данные в запросе, можно записать следующим образом:
Forms![Список студентов в группе]![Шифр группы] Ù ((YearEnter => 2002) Ú (YearEnter <= 1999)).
Для того чтобы построить данный запрос выполните следующие действия:
1. Откройте предыдущий запрос в режиме «Конструктора».
2. Добавьте в третий столбец бланка запроса поле YearEnter.
3. В строке Условие отбора этого столбцаустановите =>2002, а в стоке Или - <= 1999.
4. Вызовите форму на выполнение.
Вычисления в запросах.
В запросах можно использовать выражения в условиях и для создания вычисляемых полей. Пусть необходимо создать запрос: «Вывести список студентов, обучающихся в заданной группе, и срок их обучения». Для этого необходимо выполнить следующие действия:
1. Вызовите «Конструктор запросов» для предыдущего запроса.