Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.doc
Скачиваний:
6
Добавлен:
15.05.2015
Размер:
1.25 Mб
Скачать

Лабораторная работа № 3 Запросы

Запросы используются для просмотра, изменения и анализа данных различными способами. Запросы также можно использовать в качестве источников записей для форм, отчетов и страниц доступа к данным. В Microsoft Access есть несколько типов запросов: 1) запросы на выборку; 2) запросы с параметрами; 3) перекрестные запросы; 4) запросы на изменение; 5) запросы SQL.

Запрос на выборку

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

Задание 1.

С помощью запроса на выборку осуществите:

1. отбор учеников, живущих на улице Советская и имеющих телефоны (отображаемые поля «Фамилия», «Имя», «Отчество», «Адрес-улица», «Адрес-дом», «Адрес-квартира», «Номер телефона»). Пояснения: в списке «Объекты» перейдите на пункт «Запросы» и выберите «Создание запроса в режиме конструктора»; в окне «Добавление таблицы» выберите «Ученики» и щелкните кнопку «Добавить»; заполните бланк запроса, как показано на рис. 1; в меню «Запрос» выберите команду «Запуск»; сохраните запрос под именем «Ученики с улицы Советская с телефонами»

Рис. 1

2. подсчет количества учеников в каждом классе (отображаемые поля «Класс», «Код ученика»). Пояснения: заполните бланк запроса, как показано на рис. 2; для получения строки «Групповая операция» вызовите контекстное меню бланка и выберите команду «Групповые операции»; сохраните запрос под именем «Количество учеников в каждом классе».

Рис. 2

3. подсчет количество учителей по каждому предмету; сохраните запрос под именем «Количество учителей по каждому предмету».

4. для каждого учителя определите стаж работы в школе (отображаемые поля «Код учителя», «Фамилия», «Имя», «Отчество», «Стаж работы в школе»). Пояснения: заполните бланк запроса, как показано на рис. 3; сохраните запрос под именем «Стаж работы учителей в школе».

Рис. 3

5. отбор учителей, работавших только в данной школе с начала своей трудовой деятельности, т.е. разница между стажем педагогической работы (таблица «Учителя») и стажем работы в школе (запрос «Стаж работы учителей в школе») должна равняться нулю (отображаемые поля «Фамилия», «Имя», «Отчество»). Пояснения: в режиме конструктора в окне «Добавление таблицы» выберите вкладку «Таблицы и запросы», из списка на этой вкладке добавьте таблицу «Учителя» и запрос «Стаж работы учителей в школе»; заполните бланк запроса, как показано на рис. 4 (предварительно создайте связь между таблицей и запросом по полю «Код учителя», перетащив название этого поля из таблицы на название поля в запросе); сохраните запрос под именем «Учителя со стажем работы только в данной школе».

Рис. 4

6. отбор учеников, возраст которых превышает средний возраст по классу. Пояснения: создайте запрос «Средний возраст по классам», заполните бланк запроса, как показано на рис. 5.

Рис. 5

Затем создайте запрос «Ученики старше среднего возраста в классе», добавив в него таблицу «Ученики» и запрос «Средний возраст по классам» и связав их по полю «Класс». Заполните бланк запроса, как показано на рис. 6.

Рис. 6

7. деление поля «Название класса» таблицы «Классы» на два поля «Номер класса» и «Буква класса». Пояснение: вызовите конструктор запросов, добавьте в запрос таблицу «Классы», заполните бланк запроса, как показано на рис. 7; сохраните запрос под именем «Название класса в расшифровке».

Номер класса: Left([Название класса];InStr([Название класса];"""")-1)

Буква класса: Mid([Название класса];InStr([Название класса];"""")+1;1)

При формировании полей «Номер класса» и «Буква класса» использованы текстовые функции:

  • LEFT(Строка;Число_символов) – выделяет из «Строки» подстроку длиной «Число_символов», начиная с левого края «Строки»;

  • RIGHT(Строка;Число_символов) – выделяет из «Строки» подстроку длиной «Число_символов», начиная с правого края «Строки»;

  • MID(Строка;Начальная_позиция;Число_символов) – выделяет из «Строки» подстроку длиной «Число_символов», начиная с «Начальной позиции»;

  • INSTR(Строка;Подстрока) – выводит номер позиции в «Строке», с которой начинается «Подстрока».

Рис. 7