- •Базы данных
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Цифра (от 0 до 9, ввод обязателен, символы плюс и минус не допускаются)
- •9 Цифра или пробел (ввод не обязателен, символы плюс и минус не допускаются)
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
Лабораторная работа №5
Запросы
Запросы используются для того, чтобы получать информацию из таблиц базы данных, выделять нужные записи, а также иногда и для того, чтобы редактировать таблицу. Существует несколько типов запросов. Среди более простых запросов можно называть запросы на выборку (осуществляют поиск и выбор данных из базы), запросы на изменение (запросы на создание таблицы, удаление, обновление, добавление записей). Среди более сложных запросов можно назвать запросы с параметрами, перекрестные запросы и запросы SQL — стандартизированного языка запросов (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).
Вывод отдельных полей
Сейчас мы создадим запрос на выборку данных о сотрудниках. Предположим, что нам нужны только данные о рабочих телефонах сотрудников. В этом случае нет необходимости выводить все сведения, содержащиеся в таблице. «Выбрать» интересующую информацию и поможет запрос на выборку.
1. В окне базы данных щелкните на кнопке Запросы, а затем — на кнопке Создать. Выберите в окне диалога вариант Простой запрос и щелкните на кнопке ОК. На экране появится окно диалога, показанное на верхнем рисунке на следующей странице.
2. Из списка Таблицы и запросы выберите таблицу Сотрудники. В списке ниже появятся доступные поля.
3. Чтобы выбрать поле для запроса, дважды щелкните на его имени. Оно будет перенесено в список выбранных полей справа. Выберите поля Табельный номер, Имя, Отчество, Фамилия и Рабочий телефон. Щелкните на кнопке Далее.
4. Сохраните запрос, дав ему имя Рабочие телефоны сотрудников, и щелкните на кнопке Готово. При открытии запроса в режиме таблицы вы увидите выбранные поля таблицы Сотрудники.
5. Чтобы автоматически увеличить ширину столбца, дважды щелкните на его правой границе. Если вы хотите напечатать запрос в виде таблицы, просто щелкните на кнопке Печать на панели инструментов. С помощью команды Файл > Предварительный просмотр можно увидеть, как запрос будет выглядеть на бумаге.
6. Закройте окно запроса.
На панели Запросы окна базы данных появился значок Рабочие телефоны сотрудников. Теперь, чтобы получить информацию о телефонах сотрудников, достаточно просто щелкнуть на кнопке Запросы в окне базы данных, выделить соответствующий значок и щелкнуть на кнопке Открыть. Если в таблицу Сотрудники внести какие-либо изменения, то они автоматически отобразятся в запросе Рабочие телефоны сотрудников.
Вывод отдельных записей
Как поступить, если вам нужно выбрать только отдельные записи для заданных полей? Предположим, что нужно узнать, какие заказы на книги поступали в издательство. Выполните следующие действия, чтобы были показаны только записи с названием заказа Книги из таблицы Заказы.
1. В окне базы данных щелкните на кнопке Запросы. Дважды щелкните на значке Создание запроса в режиме конструктора. На экране появится окно конструктора запроса и окно диалога Добавление таблицы. Дважды щелкните на таблице Заказы и щелкните на кнопке Закрыть.
В верхней части окна показан список полей таблицы. (Знак * обозначает все поля таблицы.) Внизу расположен бланк запроса, в котором перечислены свойства полей запроса.
2. Дважды щелкните на поле Название. Данное поле появится в бланке запроса. Снимите флажок в строке свойства Вывод на экран.
3. В строке свойства Условие отбора для поля Название введите текст: Книги. Нажмите клавишу Enter.
4. Щелкните во втором столбце в строке свойства Поле. Дважды щелкните на значке * в списке полей таблицы Заказы. Теперь окно конструктора запросов имеет вид, показанный ниже.
Итак, мы создали запрос на выборку определенных записей таблицы в соответствии с заданным условием отбора в конкретном поле.
5 . Щелкните на кнопке Запуск на панели инструментов , и Access выведет показанный ниже результат запроса.
6. Сохраните запрос под именем Заказы на книги.
Символы подстановки
Символы подстановки используются в качестве заменителей других символов при указании образца для поиска в тех случаях, когда известна только часть строки. Так, например, чтобы найти все данные, содержащие слово «фильм» или «кинофильм» (во всех падежах), наберите строку «фильм??. Знак * соответствует любому числу любых символов, а знак ? означает один произвольный символ.
Редактирование данных
Предположим, что в списке заказов допущена ошибка, например, срок выполнения заказа 22222 не 1 февраля 2000 г., а 1 марта 2000 г. Чтобы автоматически исправить ошибку в таблице Заказы, мы исправим ее в сформированном запросе.
1. Удалите ошибочные данные с помощью клавиши Delete, исправьте ошибку и нажмите клавишу Enter, чтобы сохранить запись.
2. Не сохраняя запроса, закройте его окно.
3. В окне базы данных щелкните на кнопке Таблицы, выделите таблицу Заказы и щелкните на кнопке Открыть. Ошибка в таблице окажется исправленной.
4. Закройте окно таблицы.
Отбор полей по нескольким условиям
Access предлагает возможность сузить поиск в базе данных с помощью условия отбора полей. Иногда необходимо выбрать из таблицы данные, удовлетворяющие нескольким условиям одновременно.
Предположим, что нам нужно выбрать из таблицы заказов заказы на журналы для заказчика 3254. Как вы видите, здесь требуется выполнение двух условий для выбора записи из таблицы. Сейчас мы посмотрим, как это выполнить.
1. В окне базы данных выберите таблицу Заказы и раскройте список кнопки Новый объект на панели инструментов (см. рисунок на следующей странице). Выберите вариант Запрос. На экране появится окно диалога Новый запрос.
2. В появившемся окне диалога дважды щелкните на строке Конструктор.
3. Добавьте в бланк запроса поля КодЗаказчика и Название. Отключите их вывод на экран. В качестве условия отбора
для поля КодЗаказчика введите 3254, а условием для поля Название задайте Журналы. Добавьте также все поля таблицы для вывода их на экран, как показано на следующем рисунке.
4. Сохраните запрос, щелкнув на кнопке Сохранить на панели инструментов. Присвойте запросу имя 3254-Журналы. Щелкните на кнопке Запуск на панели инструментов. Access найдет две записи из таблицы Заказы.
К сожалению, наш запрос выводит только код заказчика. Несомненно, удобнее работать с названиями фирм заказчиков, а не с их кодами. Для создания запроса, выводящего название фирмы заказчика, необходимо воспользоваться двумя таблицами.
1. Откройте запрос 3254-Журналы в режиме конструктора, воспользовавшись кнопкой Вид на панели инструментов.
2. Щелкните на кнопке Отобразить таблицу на панели инструментов . Из появившегося списка в окне Отобразить таблицу двойным щелчком выберите таблицу Заказчики и закройте окно. Обратите внимание, что между полями КодЗаказчика в двух таблицах существует связь, созданная нами ранее. Теперь в окне конструктора запросов представлены списки полей двух таблиц, связанных по полю КодЗаказчика.
3. Дважды щелкните на поле Фирма в таблице Заказчики, чтобы внести его в бланк запроса.
4. Запустите выполнение запроса. Access выведет на экран заказы на журналы, выполняемые для фирмы «Альфа» (см. рисунок ниже).
5. Сохраните и закройте запрос.
Таким образом, мы создали два запроса на выборку. Теперь давайте познакомимся с запросом на
изменение, при помощи которого вы сможете не только изменять данные, но и создавать новые таблицы.
Оператор ИЛИ
Оператор Или используется, если необходимо, чтобы выборка производилась хотя бы по одному условию отбора. Введите критерий для первого поля в строку Условие отбора, а все остальные условия — в строку Или. Если вы хотите, чтобы выборка производилась по нескольким условиям для одного поля, введите их друг под другом в соответствующем бланке запроса. Несмотря на то что только одна строка имеет название Или, все строки, расположенные ниже, выполняют ту же функцию.
Обновление записей
Конечно, вы можете вносить исправления прямо в таблице, однако удобнее создавать запросы на обновление. Их преимущество вы оцените при работе с большими таблицами. Предположим, что в одном из отделов нашего предприятия изменился номер рабочего телефона: вместо номера 138-19-10 теперь используется 320-36-55. Сейчас мы создадим запрос для изменения текущего номера телефона отдела.
1. Щелкните на кнопке Таблицы и выделите таблицу Сотрудники. Щелкните на стрелке справа от кнопки Новый объект на панели инструментов и выберите вариант Запрос.
2. Дважды щелкните на строке Конструктор в окне диалога Новый запрос. В бланк запроса добавьте поле Рабочий телефон.
3. Щелкните на кнопке Тип запроса на панели инструментов и выберите вариант Обновление. Третья строка бланка запроса будет названа Обновление.
4. В строке свойства Обновление наберите новое значение поля Рабочий телефон, а именно 3203655 (как вы, возможно, помните, в данном поле существует маска ввода, которая автоматически преобразует введенный номер телефона в формат с дефисами).
5. В строке свойства Условие отбора введите 1381910.
6. Щелкните на кнопке Запуск , Access выполнит запрос и попросит подтвердить обновление данных.
7. Щелкните на кнопке Да.
8. Щелкните на кнопке Окно базы данных на панели инструментов и откройте запрос Рабочие телефоны сотрудников. В двух записях значение поля Рабочий телефон исправлено на новое.
9. Закройте окно нового запроса, не сохраняя изменений.
Перемещение записей
Давайте создадим отдельную таблицу для выполненных заказов. Организовав особый запрос на создание таблицы, мы выберем из таблицы Заказы все записи, в которых есть отметка о выполнении заказа и поместим данные об этих заказах в отдельную таблицу.
1. Выделите таблицу Заказы и щелкните на стрелке справа от кнопки Новый объект на панели инструментов. Выберите вариант Запрос.
2. Перейдите в режим конструктора запросов.
3. По очереди добавьте все поля таблицы в бланк запроса.
4. В строке свойства Условия отбора для поля Выполнение введите слово Да. Снимите флажок Вывод на экран для этого поля.
5. Щелкните на кнопке Тип запроса и выберите вариант Создание таблицы. В появившемся окне диалога введите имя таблицы Завершенные заказы. В нее будут помещены записи, выбранные в соответствии с условием. Щелкните на кнопке ОК.
6. Запустите запрос. Access сообщит о добавлении в таблицу четырех записей. Щелкните на кнопке Да, чтобы они действительно были записаны.
7. Не сохраняйте текущий запрос, поскольку в дальнейшем для добавления новых записей в созданную таблицу можно использовать запрос на добавление.
8. Откройте новую таблицу Завершенные заказы и проверьте, что она содержит четыре записи, как показано на рисунке.