Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 7 Access2003,6лр(информатика).doc
Скачиваний:
38
Добавлен:
22.05.2015
Размер:
1.53 Mб
Скачать

1.1 Применение запросов

Запросы, как простые, так и сложные предназначены для решения следующих основных задач:

1 Выборка данных из таблицы БД, их просмотр, изменение, удаление и добавление новых значений и записей. Добавить новое поле, не имеющееся в исходной таблице, в СУБД Access нельзя.

2 Как источник данных для форм и отчетов.

3 Выполнение вычислений над группами записей - итоговых значений, дисперсий, отклонений, суммы и др., а также вывод их в формате электронной таблицы, в ячейках которой записаны необходимые формулы

Для решения этих задач используются следующие запросы:

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

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

  • Запрос с параметрами - это запрос, в котором пользователю предлагается ввести параметры, на основе которых будет выполняться запрос. При каждом вызове этого запроса будет предложено ввести значение параметра, а затем на экран будут выведены все поля, которые были указали в запросе. Например, если для таблицы БД Товары в запросе назначено параметром поле Наименование товара, то при вводе слова Телевизор появятся значения других полей запроса – Цена, Размер экрана, Страна-изготовитель и т.п.

Здесь также сначала создаётся простой запрос с нужными полями, а затем выполняется переход в режим конструктора (нажать клавишу Конструктор) и в его окне в строке Условие отбора вводится текст для параметра, например, "Введите имя", который будет появляться при вызове запроса (рис. 8).

  • Запрос на изменение – это запрос на обновление, добавление и удаление записей таблицы БД. Он тоже создаётся на базе Простого запроса, затем запускается режим Конструктор и в пункте меню Запрос выбирается нужный запрос на изменение. В Простом запросе также можно вносить изменения данных и добавлять записи.

  • Запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы) составляются на языке запросов SQL - (Structured Quiery Language – структурированный язык запросов).

Рисунок 8 Экран Конструктора запросов

1.2 Операции с данными в запросах

В запросах можно выполнять все стандартные операции приложений операционной системы Windows. Это те же операции, что и в таблицах и формах БД – копирование, перемещение, удаление, вставка данных, сортировка по возрастанию и убыванию, установка и снятие фильтра, сортировка, поиск и замена данных, предварительный просмотр, печать и др. Для этого используются команды строки меню Файл, Правка, Вид и т.д. и кнопки панели инструментов Стандартная. При подведении к кнопке курсора появляется подсказка с именем кнопки.

Например, для поиска данных нужно в меню Правка щелкнуть по команде Найти …, в окне поиска ввести образец для поиска, указать имя запроса для поиска, направление и т.д. и нажать ОК, для удаления записи её необходимо выделить, поставив курсор в первый столбец строки (он превратится в чёрную горизонтальную стрелку) и нажать клавишу Delete на клавиатуре, добавление записи – поставить курсор в новую строку, ввести данные и т.д. Все изменения автоматически сохраняются в исходной таблице или запросе.

Сохранение запроса. Для сохранения запроса следует выполнить команду Файл\ Сохранить или щелкнуть по кнопке Сохранить на панели инструментов. Если запрос сохраняется впервые, введите новое имя запроса в диалоговом окне Сохранение.

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

остаётся только структура запроса – перечень таблиц, список полей, ограничения и др., а сами данные не запоминаются. Запросы можно сравнить с фильтрами, т.к. данные тоже отбираются согласно ведённым условиям, но возможности запросов гораздо шире.

Пример 1 Создание запросов.

  1. Открыть БД "Справочник", записанную на дискете.

  2. создать простой запрос по таблице "Тренеры" из БД "Справочник".

  3. Выполнить в запросе поиск по полю Должность

  4. Отфильтровать всех сотрудников с зарплатой 5000р.

  5. Отсортировать поле Фамилия в алфавитном порядке

  6. Сохранить запрос под именем Простой запрос1

  7. Создать на базе простого запроса запрос с параметром входа Фамилия.

  8. Сохранить запрос с параметром под именем Запрос с параметром.

Порядок работы:

1 Открыть БД "Справочник" с диска А:\, появится окно БД "Справочник".

2 Для создания простого запроса:

  • в окне базы данных выделить объект Запросы, щелкнуть по кнопке Создать, в окне Новый запрос выбрать Простой запрос и щелкнуть по кнопке OK;

  • в окне Создание простых запросов в строке Таблицы/запросы выбрать таблицу Тренеры (если других таблиц запросов не было создано, она будет одна в открывающемся списке);

  • в окне Доступные поля выделение поле Фамилия, щелкнуть по кнопке [>], слово Фамилия перейдет в окно Выбранные поля;

  • аналогично в окне перевести поля Имя, Отчество, Должность (порядок важен – в таком порядке данные и будут выводиться);

  • щелкнуть по кнопке Далее;

  • в строке параметра Задайте имя запроса введите новое имя Простой запрос1, щелкните по кнопке Готово. На экране появится таблица с результатами запроса.

3 Поиск по полю Должность:

Нажать кнопку Найти или выполнить команду Правка\Найти, в строке Образец ввести Тренер, выбрать имя запроса и направление поиска, нажать ОК. В запросе будут выделяться слова Тренер

4 Отфильтровать всех тренеров по боксу.

  • поставить курсор в ячейке со словом Бокс, нажать кнопку Фильтр по выделенному (или команду Записи\ Фильтр\ Фильтр по выделен-

ному). В запросе останутся только строки со значением слова Бокс. Вернуться назад можно кнопкой Удалить фильтр.

5 Сортировка данных в алфавитном порядке, т.е. по убыванию. Щелкнуть по кнопке [А-Я] на панели инструментов или выполнить команду Записи\ Сортировка\Сортировка по убыванию.

6 Сохранение запроса по старым именем:

  • щелкнуть по кнопке Сохранить или выполнить команду Файл\ Сохранить, под новым – Файл\Сохранить как.

7 Для создания запроса на выборку с параметром на базе простого запроса1:

  • перейти в режиме конструктора, щелкнув по кнопке или выполнив командуВид\ Конструктор;

  • в строке параметра Условия отбора для поля Фамилия ввести текст: [Введите фамилию] - (квадратные скобки вводить обязательно);

  • выполнить запрос, щелкнув по кнопке запуска на панели инструментов или выполнив командуЗапрос\ Запуск;

Примечание. Этим способом запрос выполняется только в режиме конструктора. Для того чтобы выполнить запрос из другого режима, надо открыть вкладку Запросы, выделить требуемый запрос и щелкнуть по кнопке Открыть.

  • в появившемся окне ввести фамилию, например, Григорьев и щелкнуть по кнопке ОК. На экране появится таблица с данными о преподавателе Григорьевеего имя, отчество, должность.

  • сохранить запрос командой Файл\Сохранить как… под именем Запрос с параметром;

  • закрыть окно запроса.