Сделай Сам Свою Работу на 5

Порядок выполнения работы





Лабораторная работа №3

Тема: Использование фильтров и создание запросов к одной таблице.

Цель: изучение средств MS Access 2003 для фильтрации данных из БД и создания запросов к одной таблице с использованием групповых операций..

 

Теоретические сведения

Для отбора записей из одной таблицы по заданному критерию (или нескольким критериям) используются фильтры.

Самым простым видом фильтра является «Фильтр по выделенному». Для его создания необходимо «мышкой» выделить значение поля (или его часть) и выбрать в главном (или контекстном, появляющемся при нажатии правой кнопки «мышки») меню пункт «Фильтр по выделенному» или нажать на панели инструментов кнопку (рис. 3.1).

 

Рисунок 3.1 – Создание фильтра «по выделенному» для отбора водителей с фамилией, оканчивающейся на «-ов»

 

Результат применения фильтра показан на рис. 3.2.

 

Рисунок 3.2 – Результат применения фильтра «по выделенному» для отбора водителей с фамилией, оканчивающейся на «-ов»

 

Для отмены фильтрации необходимо «отжать» кнопку на панели инструментов (см. рис. 3.2).

Просмотреть/задать установки фильтра (рис. 3.3) можно в окне свойств таблицы, которое вызывается в режиме конструктора.



 

Рисунок 3.3 – Установки фильтра

 

Текст ((ВОДИТЕЛИ.ФАМИЛИЯ Like “*ов”)) в поле «Фильтр» означает, что в таблице «Водители» производиться отбор записей по полю «Фамилия», в котором может быть любой текст (задается символом *), который заканчивается символами «ов» (Like “*ов”). Like - ключевое слово отбора значений.

Большие возможности для отбора записей предоставляет расширенный фильтр. Для задания расширенного фильтра необходимо выбрать пункт меню «Сортировка и фильтр»-«Расширенный фильтр» и в появившемся окне конструктора фильтра задать поля, по которым необходимо осуществлять отбор данных.

Например, для отбора водителей категории В следует задать такой фильтр (рис. 3.4):

 

Рисунок 3.4 – Конструктор фильтра отбора водителей категории В

 

Для отбора водителей категорий В или ВС следует задать такой фильтр (рис. 3.5):

 

Рисунок 3.5 – Конструктор фильтра отбора водителей категорий В или ВС



 

В этом случае установки фильтра (рис. 3.6) содержат строку:

(((ВОДИТЕЛИ.КАТЕГОРИЯ)="В")) OR (((ВОДИТЕЛИ.КАТЕГОРИЯ)="ВС"))

которая означает, что записи будут отобраны по полю «Категория» и значение полей может быть «В» либо «ВС». Ключевое слово OR означает «ИЛИ», т.е. выполняться отбор по критерию КАТЕГОРИЯ="В" или КАТЕГОРИЯ="ВС".

 

Рисунок 3.6 – Конструктор фильтра отбора водителей категорий В или ВС

 

Если отбор записей необходимо выполнять с учетом значений вычисляемого поля, либо осуществлять групповую операцию над отобранными данными, то необходимо использовать запросы. Например, для определения количества водителей, прошедших медосмотр в этом году, необходимо вначале получить их список (задав критерий отбора Year([ВОДИТЕЛИ]![ДАТА_МЕДОСМОТРА])=Year(Now()), т.е. равенство года медосмотра текущему году), а затем выполнить над выборкой групповую операцию COUNT (для этого в выборке должны быть уникальные поля (например поле «Табельный номер»)). Для этого необходимо в окне объектов БД перейти на вкладку «Запросы» и выбрать пункт «Создание запроса в режиме конструктора». После этого, в появившемся окне (рис. 2.6) выбрать таблицу «Водители» и добавить её в источники данных запроса (нажатием кнопки «Добавить»). В появившемся окне (рис. 3.7) необходимо задать критерий отбора данных, а затем и групповую операцию.

 

Рисунок 3.7 – Конструктор запроса отбора водителей, прошедших медосмотр в этом году

 

Результат выполнения запроса для исходных данных рис. 3.8 приведен на рис. 3.9.

 

Рисунок 3.8 – Исходные данные (таблица «Водители») для запроса отбора водителей, прошедших медосмотр в этом году



 

Рисунок 3.9 – Результат выполнения запроса отбора водителей, прошедших медосмотр в этом году

 

Аналогично, например, для определения списка марок автомобилей и количества автомобилей каждой марки соответствующий запрос будет иметь такой вид (рис. 3.10):

 

Рисунок 3.10 – Конструктор запроса отбора списка марок автомобилей с указанием количества автомобилей каждой марки

 

Результат выполнения запроса для исходных данных рис. 3.11 приведен на рис. 3.12.

 

Рисунок 3.11 – Исходные данные (таблица «Автомобили») для запроса отбора списка марок автомобилей с указанием количества автомобилей каждой марки

 

Рисунок 3.12 – Результат выполнения запроса отбора списка марок автомобилей с указанием количества автомобилей каждой марки

 

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

DateDiff(<интервал>, дата1, дата2),

где <интервал> - специальная строка символов, показывающая в каких единицах измерения времени необходимо выдать разность (“yyyy” – в годах, “q” – в кварталах, “m” – в месяцах, “d” – в днях, “h” – в часах, “n” – в минутах).

Рисунок 3.13 – Конструктор запроса определения длительности рейсов в часах

 

Порядок выполнения работы

 

1. С применением фильтров (либо простых запросов к одной таблице) получить заданные сведения.

 

  1. Список водителей старше 50 лет.
  2. Количество водителей старше 50 лет.
  3. Список водителей младше 25 лет.
  4. Количество водителей младше 25 лет.
  5. Список водителей в возрасте от 30 до 40 лет.
  6. Количество водителей в возрасте от 30 до 40 лет.
  7. Список водителей со стажем работы на данном предприятии менее года.
  8. Количество водителей со стажем работы на данном предприятии менее года.
  9. Список водителей со стажем работы на данном предприятии более 10 лет.
  10. Количество водителей со стажем работы на данном предприятии более 10 лет.
  11. Список водителей со стажем работы на данном предприятии от 1 года до 3-х лет.
  12. Количество водителей со стажем работы на данном предприятии от 1 года до 3-х лет.
  13. Список водителей со стажем работы на данном предприятии от 3 до 10 лет.
  14. Количество водителей со стажем работы на данном предприятии от 3 до 10 лет.
  15. Список водителей категории В.
  16. Количество водителей категории В.
  17. Список водителей категории Е.
  18. Количество водителей категории Е.
  19. Список водителей с категориями В и С.
  20. Количество водителей с категориями В и С.
  21. Список водителей категории В, имеющих 1 класс.
  22. Количество водителей категории В, имеющих 1 класс.
  23. Список водителей категории В, имеющих 2 класс.
  24. Количество водителей категории В, имеющих 2 класс.
  25. Список водителей категории В, старше 50 лет.
  26. Количество водителей категории В, старше 50 лет.
  27. Список водителей категории С, младше 25 лет.
  28. Количество водителей категории С, младше 25 лет.
  29. Список водителей, прошедших медосмотр в этом году.
  30. Количество водителей, прошедших медосмотр в этом году.
  31. Список водителей, прошедших медосмотр в прошлом году.
  32. Количество водителей, прошедших медосмотр в прошлом году.
  33. Список водителей, прошедших медосмотр более чем 2 года назад.
  34. Количество водителей, прошедших медосмотр более чем 2 года назад.
  35. Список водителей, трудоустроившихся в этом году.
  36. Количество водителей, трудоустроившихся в этом году.
  37. Список водителей, трудоустроившихся за последние 5 лет.
  38. Количество водителей, трудоустроившихся за последние 5 лет.

 

Таблица 3.1 – Выбор варианта списка

№ варианта (последняя цифра зачетной книжки) Сведения
1, 38, 11, 19
2, 37, 12, 20
3, 36, 13, 21
4, 35, 14, 22
5, 34, 15, 23
6, 33, 16, 24
7, 32, 17, 25
8, 31, 18, 26
9, 30, 19, 27
10, 29, 20, 28

 

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

 

  1. Список марок автомобилей с указанием количества автомобилей каждой марки.
  2. Количество автомобилей с одинаковым числом посадочных мест.
  3. Количество пунктов назначения с одинаковым расстоянием до них.
  4. Количество водителей одного возраста (в годах).
  5. Количество автомобилей одного возраста (в годах).
  6. Количество автомобилей с одинаковым расходом топлива.
  7. Количество рейсов за сегодняшний (вчерашний) день.
  8. Список рейсов более чем на 100 км.
  9. Количество рейсов более чем на 100 км.
  10. Список рейсов, длительностью более 3х дней.
  11. Количество рейсов, длительностью более 3х дней.

 

Таблица 3.2 – Выбор варианта списка

№ варианта (последняя цифра зачетной книжки)
Список 1, 11 2, 10 3, 9 4, 8 5, 7 6, 1 7, 2 1, 10 2,5 3,6

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.