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