Практическая работа № 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. Доложите преподавателю об окончании работы и выключите компьютер.