Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод пособие_по_Access 2003.doc
Скачиваний:
2
Добавлен:
24.08.2019
Размер:
10.35 Mб
Скачать

Лабораторная работа №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. Откройте новую таблицу Завершенные заказы и проверь­те, что она содержит четыре записи, как показано на рисунке.