Практическая работа № 20
Тема: Создание запросов в СУБД Access.
Цель: Научиться осуществлять поиск нужных данных, создавать запросы к базам данных в MS Access и работать с ними в различных режимах.
Время: 40 мин.
Задание: Осуществите поиск заданных записей. Выполните сортировку записей по заданному полю. Установите фильтр для отбора заданных записей. Создайте запросы по заданным условиям.
Литература:
Содержание отчёта:
− Ответы на вопросы, поставленные в пунктах описания последовательности выполнения работы.
− Выводы по работе (что изучили, чему научились)
Последовательность выполнения работы:
1. Запустите MS Access. Откройте базу данных «Справочник» (файл spravochnik.accdb).
2. Ознакомьтесь с таблицами в данной базе.
3. C помощью «Схемы данных» создайте связи между таблицами по коду улиц и типу улиц.
Рисунок 1
4. Создайте запрос, объединяющий эти таблицы (вместо кодов отобразите названия улиц и типов улиц).
Рисунок 2
5. Выполните команду Сервис à Служебные программы à Сжать и восстановить базу данных. Теперь ваш файл базы данных занимает значительно меньше места на жёстком диске компьютера.
6. Выполните запрос, при необходимости распахните окно запроса на весь экран.
7. Перейдите в режим «Конструктор» (команда «Вид» – «Конструктор») и для каждого поля в свойствах добавьте подпись («Тип», «Улица», «№ дома», «Литера», «№ квартиры», «Телефон», «Фамилия»).
8. Перейдите в режим таблицы и установите необходимую ширину полей.
- Установите курсор мыши между заголовками соседних столбцов и выполните двойной щелчок левой клавишей мыши. Ширина столбца установится автоматически по размеру данных.
9. Установите курсор на любую запись в поле «Фамилия» и нажмите на кнопку «Найти» (бинокль). Установите: Образец – «Кучма ПЗ», Просмотр – «Всё», Совпадение – «С любой частью поля», «Только в текущем поле», «Без учёта регистра». Определите адрес и номер телефона абонентов: Кучма ПЗ, Лаврентик ГИ, Терешкевич СН.
10. С помощью поиска определите адрес и фамилию абонента по его номеру телефона: 333108, 373044, 351867. Результат запишите в отчёт.
11. Выполните сортировку записей по номеру телефона. Чьи первый и последний телефоны в списке?
- Установите курсор на любую запись в поле «Телефон» и нажмите кнопку «Сортировка по возрастанию»
- Для перехода на последнюю запись воспользуйтесь соответствующей кнопкой в строке «Запись» (под таблицей).
12. Перейдите к таблице и установите фильтр так, чтобы показывались только телефоны жильцов одного дома, например, пр. Строителей 70.
- Выполните команду [Записи] [Фильтр] [Изменить фильтр].
- В поле “Улица” введите “Строителей”, а в поле “№ дома” – 70.
- Выполните команду [Фильтр] [Применить фильтр]
- Можно пользоваться кнопками “Изменить фильтр” и “Применить фильтр” на панели инструментов.
Сколько жильцов выбранного Вами дома имеет телефон?
13. Снимите фильтр.
- Нажмите кнопку «Удалить фильтр».
14. Установите фильтр так, чтобы в таблице остались телефоны жильцов дома № 36 на Комсомольском бульваре. Выполните сортировку по полю «NKV» (номер квартиры).
15. Выполните операции по подсчёту – «Сколько раз в базе данных встречается фамилия Иванов АИ?». Результат запишите в отчёт.
- Нужно создать запрос на выборку. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из таблицы и выводятся в определённом порядке.
- Для создания запроса:
1) Войдите в главную форму базы данных (окно «…: база данных») (с помощью пункта меню «Окно»).
2) Перейдите на вкладку «Запросы».
3) Щёлкните кнопку «Создать».
4) В окне диалога «Новый запрос» выберите в списке «Простой запрос». В качестве источника данных выберите таблицу «Справочник».
5) Из списка доступных полей выберите «NAME», «TYPE», «STREET», «ND», «NKV», «TEL». Нажмите кнопку «Далее».
6) Выберите тип отчёта «Подробный» и нажмите кнопку «Далее».
7) Задайте имя запроса, например, «Количество Ивановых АИ» и нажмите кнопку «Готово». Условие мы ещё не задавали, поэтому в запросе выведутся все записи.
8) Выполните команду [Вид] [Конструктор]
9) В поле «NAME» в строке «Условие отбора» наберите: Иванов АИ
10) Нажмите кнопку «!» («Запуск»)
- Если нас не интересуют адреса и телефоны выбранных абонентов, а только их количество, запрос нужно изменить так, чтобы эти поля не выводились:
1) Войдите в режим конструктора (выполните команду [Вид] [Конструктор])
2) Удалите все поля, кроме «NAME». (Выделите столбец и нажмите клавишу Delete)
3) Нажмите кнопку «∑» («групповые операции»). Добавится строка «Групповая операция» и в поле «NAME» установится «Группировка»
4) В новом столбце в строке «Поле» введите: Количество : NAME
5) В строке «Групповая операция» установите: Count
(count – подсчёт значений)
6) Проверьте, что в строке «Вывод на экран» стоит флажок «ν»
7) Нажмите кнопку «Запуск» («!»)
8) Закройте окно запроса, сохранив структуру запроса.
16. Выполните операции по подсчёту – «Сколько раз в базе данных встречается фамилия Иванов?». (Инициалы любые). Результат запишите в отчёт.
- Войдите в главную форму базы данных (окно «…: база данных»).
- Выберите вкладку «Запросы».
- Наведите указатель мыши на ранее созданный запрос, нажмите правую клавишу и выполните команду «Копировать»
- Нажмите правую клавишу мыши и выполните команду «Вставить». Введите новое имя запроса, например, «Количество Ивановых»
- Откройте запрос в режиме конструктора.
- Удалите групповые операции (ещё раз нажмите кнопку «∑»)
- После слова «Количество» в той же строке допишите: « : Count([NAME])» (кавычки не набирайте).
- В столбце «NAME» снимите флажок с вывода на экран.
- В поле «NAME» в строке «Условие отбора» наберите: «Иванов *» (фамилия, пробел, звёздочка, звёздочка означает «любые символы», в данном случае любые инициалы)
- Сохраните запрос. Условие отбора автоматически изменится на «Like "Иванов *"»
- Нажмите кнопку «Запуск» («!»)
- Закройте окно запроса, сохранив его структуру.
17. Создайте запрос на создание таблицы – создайте таблицу, содержащую записи об абонентах, живущих на проспекте Победы. Запишите в отчёт, сколько таких записей в базе данных.
- Войдите в главную форму базы данных (окно «…: база данных»).
- Выберите вкладку «Запросы».
- Нажмите кнопку «Создать».
- В окне «Новый запрос» выберите «Простой запрос» и нажмите кнопку «ОК»
- В поле «Таблицы/Запросы» выберите «Таблица: справочник», выберите поля таблицы (все) и нажмите кнопку «Далее».
- Выберите тип отчёта «Подробный», нажмите «Далее».
- Задайте имя запроса: «Создание новой таблицы».
- В группе «Дальнейшие действия» установите переключатель на строке «изменение структуры запроса» и нажмите кнопку «Готово». Запрос откроется в режиме конструктора.
- Выполните команду [Запрос] [Создание таблицы] и введите имя новой таблицы (“Новая таблица”), нажмите «ОК».
- В поле «STREET», в строке «Условие отбора» введите: ПОБЕДЫ (можно маленькими буквами)
- Сохраните запрос и запустите его.
- Закройте окно запроса, откройте новую таблицу. Просмотрите её и закройте.
18. Удалите из новой таблицы абонентов 22-й АТС. (Создайте запрос на удаление).
- Войдите в главную форму базы данных (окно «…: база данных»).
- Выберите вкладку «Запросы».
- Нажмите кнопку «Создать».
- В окне «Новый запрос» выберите «Простой запрос» и нажмите кнопку «ОК»
- В поле «Таблицы/Запросы» выберите «Таблица: Новая таблица», выберите поля таблицы (все) и нажмите кнопку «Далее».
- Назовите запрос «Запрос на удаление», выполняйте инструкции, выводящиеся в окнах диалога мастера. После открытия запроса в режиме конструктора выполните команду [Запрос] [Удаление].
- В поле «TEL», в строке «Условие отбора» введите: ‘22*’ (в одиночных или двойных кавычках).
- Сохраните запрос и запустите его.
- Закройте окно запроса, откройте новую таблицу. Просмотрите её и закройте.
Запишите в отчёт, сколько в новой таблице было абонентов 22-й АТС.
19. Добавьте в новую таблицу абонентов 37-й АТС.
- Войдите в главную форму базы данных (окно «…: база данных»).
- Выберите вкладку «Запросы».
- Нажмите кнопку «Создать».
- В окне «Новый запрос» выберите «Простой запрос» и нажмите кнопку «ОК»
- В поле «Таблицы/Запросы» выберите «Таблица: Справочник», выберите поля таблицы (все) и нажмите кнопку «Далее».
- Выберите тип отчёта «Подробный», нажмите «Далее».
- Задайте имя запроса («Запрос на добавление»).
- В группе «Дальнейшие действия» установите переключатель на строке «изменение структуры запроса» и нажмите кнопку «Готово». Запрос откроется в режиме конструктора.
- Выполните команду [Запрос] [Добавление], в диалоговом окне “Добавление” выберите таблицу “Новая таблица”, нажмите кнопку “ОК”.
- В поле «TEL», в строке «Условие отбора» введите: ‘37*’ (в одиночных или двойных кавычках).
- Сохраните запрос и запустите его.
- Откройте новую таблицу и убедитесь, что в неё добавлены записи. Отметьте в отчёте, сколько записей добавилось.
20. Замените в новой таблице фамилию «Иванов АА» на «Васечкин ВВ».
- Войдите в главную форму базы данных (окно «…: база данных»).
- Выберите вкладку «Запросы».
- Нажмите кнопку «Создать».
- В окне «Новый запрос» выберите «Простой запрос» и нажмите кнопку «ОК»
- В поле «Таблицы/Запросы» выберите «Таблица: Новая таблица», выберите только одно поле таблицы – «NAME» и нажмите кнопку «Далее».
- Задайте имя запроса («Запрос на обновление»)
- В группе «Дальнейшие действия» установите переключатель на строке «изменение структуры запроса» и нажмите кнопку «Готово». Запрос откроется в режиме конструктора.
- Выполните команду [Запрос] [Обновление], в строке «Обновление» наберите: «Васечкин ВВ», в строке «Условие отбора» - «Иванов АА».
- Сохраните запрос и запустите его.
21. Откройте новую таблицу и проверьте, появился ли в ней абонент Васечкин ВВ. Запишите в отчёт, какой у него адрес и номер телефона.
22. Создайте запрос с параметром – запрос, при котором отображаются данные, соответствующие условию, введенному в окно диалога. Определите адрес и фамилию абонентов, имеющих телефоны: 384138, 344986, 333138.
- Создайте новый простой запрос для таблицы «Справочник», выберите все поля таблицы, откройте запрос в режиме конструктора.
- В строке «Условие отбора», в поле «TEL» введите: [Номер телефона] (так и набирайте, в квадратных скобках).
- Сохраните запрос и запустите его.
- Если вводимое выражение должно совпадать с любой частью поля, введите в условие отбора: «Like "*" & [Параметр] & "*"» (здесь «Параметр» – заголовок диалогового окна).
23. Доложите преподавателю об окончании работы и выключите компьютер.