Создание связей. Запросы: Методические указания к выполнению лабораторной работы № 5, страница 3

Задача №3: Сделать выборку всей истории работы Киселева Г.П.

Для создания запроса потребуется таблица ЛИЧНАЯ, РАБОТА и ПОДРАЗДЕЛЕНИЯ.

Порядок работы:

ü В окне базы данных для объекта Запросы нажмите кнопку Создать, затем Конструктор.

ü В окно Конструктора добавьте таблицы ЛИЧНАЯ, РАБОТА и ПОДРАЗДЕЛЕНИЯ (рис.9).

Рис.9

ü В бланке запроса в строку Поля перетащите следующие поля: из таблицы ЛИЧНАЯКодСотр и ФИО; из таблицы РАБОТАДатаРаб, Должность, Оклад; из таблицы ПОДРАЗДЕЛЕНИЯ – поля КодПодразд и НаименПолн.

ü В строке Вывод на экран погасите флажки для полей КодСотр и КодПодразд.

ü Для поля ФИО в строке Условие отбора введите Киселев Г.П.

ü Проверьте работу запроса, щелкнув кнопку Запуск. Результат показан на рис.10.

Рис.10


2.2 ПРОЕКТИРОВАНИЕ ЗАПРОСА С ПАРАМЕТРОМ.

Задача №4. Сделать выборку всей истории работы любого сотрудника.

Этот запрос с параметром.

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

Преобразуем частный запрос Работа_Киселев в общий запрос. Порядок работы:

1.  Откройте запрос Работа_Киселев  в режиме Конструктора.

2.  В поле ФИО в строке Условие отбора удалите Киселев Г.П. и введите текст-подсказку в квадратных скобках [Введите ФИО] (рис.11).

Рис.11

3.  Сохраните запрос Файл ® Сохранить как. Система спросит, с каким именем сохранить запрос. Задайте имя Работа_Сотрудник.

4.  Проверьте работу запроса, щелкнув кнопку Запуск  . В окне Введите значение параметра введите ФИО  любого сотрудника (рис.12).

          

Рис.12

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

2.3 СОЗДАНИЕ ВЫЧИСЛЯЕМОГО ПОЛЯ В ЗАПРОСЕ.

Задача №5.  Выдать список сотрудников с указанием даты рождения и возраста.

Запрос может быть построен на основе таблицы ЛИЧНАЯ, из которой используются поля КодСотр, ФИО, ДатаРожд.

Порядок работы:

Ø В окне базы данных для объектов Запросы нажмите кнопку Создать, затем Конструктор.

Ø В окно Конструктора добавьте таблицу ЛИЧНАЯ.

Ø В бланк запроса вставьте поля КодСотр, ФИО, ДатаРожд.

Ø В строке Сортировка для поля ДатаРожд задайте По возрастанию.

Ø В строке Поле бланка запроса в свободном столбце напишите имя нового поля и выражение для его вычисления в следующем виде:

Возраст: Year(Date())-Year([ЛИЧНАЯ]![ДатаРожд])

Вид конструктора показан на рис.13.

Рис.13

Ø Проверьте работу запроса, нажав кнопку Вид на панели инструментов и выбрав Режим таблицы.

Ø Если запрос работает правильно, вернитесь в режим конструктора и сохраните запрос с именем Возраст. Закройте конструктор (рис. 14). 

Рис.14

На основе запроса легко решается задача создания списка пенсионеров.

Задача №6. Выдать список пенсионеров.

Порядок:

v Откройте запрос Возраст в режиме Конструктора.

v В строку Поле бланка запроса, в свободный столбец, добавьте поле Пол.

v В строке Условие отбора в столбце Возраст, напишите условие >=60, а в столбце Пол той же строки - “М”.

v В строке или:, столбец Возраст, напишите >=55, а в столбце Пол той же строки – “Ж” (Рис.15). Два последних шага означают: если в поле Пол стоит “М”, то отбирать те записи, в которых Возраст>=60, а если в поле Пол стоит “Ж”, то отбирать те записи, в которых Возраст >=55.

v Проверьте работу запроса в режиме таблицы (рис.16).