Печатать эту главуПечатать эту главу

Лабораторная работа № 6.

2. «СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ЗАПРОСОВ»

2.3. ЗАДАНИЕ 11. Построение запросов с параметром

  1. Используя буфер обмена, скопировать в базу данных запрос Отсрочка от армии на 2003год. Дать ему новое имя  Отсрочка от армии.
  2. Открыть новый запрос в режиме Конструктора. В ячейке Условие ввода
    ввести: <[Ввести дату призыва дд.мм.гг.] (рис. 31 а).
  3. Для предварительного просмотра запроса с параметрами до его сохранения нажмите кнопку  на панели инструментов и введите значение параметра. Для возвращения в режим конструктора запроса нажмите кнопку   на панели инструментов. При выполнении запроса программа Access открывает диалоговое окно с введенной вами в квадратных скобках подсказкой (рис. 31 б). В это окно необходимо ввести нужную величину.
  4. Активизируйте запрос несколько раз, задавая разные значения параметра. Посмотрите, как меняются результаты выполнения запроса.
  5. Скопируйте Запрос2 из ЗАДАНИЯ 10, дав ему имя Запрос3. Откройте его в режиме Конструктора.
  6. Для того чтобы вывести приглашения "Введите начальную дату:" и "Введите конечную дату:" для определения диапазона отбираемых значений, введите Between [Введите начальную дату :] And [Введите конечную дату:] в ячейку строки Условие отбора в столбце поля Dtr (Дата рожд). Поработайте с этим запросом. 

            

а)                                                    б)

Рис. 31. а) Фрагмент бланка запроса, в котором параметром является

условие отбора для поля Dtr (Дата рожд);

б) Диалоговое окно для ввода параметра

Для того, чтобы находить в поле не конкретное значение, а только его фрагмент используют оператор Like. Например, если требуется отобрать студентов, фамилия которых начинаются на букву «А», в бланке запроса для поля ФИО можно записать условие Like "А*".

7. Для таблицы Ведомость создать запрос, который выводил результаты экзаменов за I семестр для любой группы.

8. Для этого создайте новый запрос в режиме конструктора на основе запроса Общая ведомость. Добавьте поля ФИО, Nst, 1_p, 1_e1,1_e2, Ngr. В последнем поле Ngr задайте условие отбора Like [Ввести номер группы]. Дайте ему название Ведомость группы за I семестр.

9. Проверьте, как работает данный запрос. Обратите внимание, что при вводе в поле параметра группы можно не соблюдать регистр букв и не надо набирать дефис. Например, чтобы получить ведомость группы А‑2, надо ввести а2.

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

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

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

 Построение вычисляемых полей

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