Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_указ к РГР СПСвСУ.doc
Скачиваний:
2
Добавлен:
13.11.2018
Размер:
363.01 Кб
Скачать

5.2.3 Запрос к связанным таблицам

Такие запросы создают, если в одном запросе необходимо обработать информацию одновременно из нескольких таблиц. При этом автоматически учитывается отношения между таблицами.

Откройте окно конструктора запроса и добавьте таблицы, в которых содержится необходимая информация. Если ранее с помощью команды Схема данных была установлена связь между таблицами, то Access определит это автоматически. Эта связь будет отображена в виде линии, проведенной между полями таблиц. Если связь между таблицами отсутствует, необходимо ее установить.

Вначале необходимо определить параметры связи. Укажите на соединительную линию и выберите команду Вид/Параметры объединения. В результате откроется диалоговое окно, в котором предлагаются три опции для определения параметров связи. Выберите подходящую из опций и нажмите ОК.

5.2.4 Запросы удаления

Удаление записей вручную с помощью команд Правка/Удалить занимает много времени, а также сопровождается часто ошибками. Для автоматического удаления ненужных записей составляется запрос - выбор на удаление.

В режиме конструктора запроса выбрать таблицу, в которой будет производиться удаление, в бланке запроса установить критерии (условия) отбора записей для удаления. Затем просмотрите результат выполнения запроса, отображаемый в режиме таблицы. Лишь в том случае, если в результате запроса присутствуют только подлежащие удалению записи, следует преобразовать запрос выбора в запрос удаления.

Для этого в строке меню выбрать Запрос/Удаление. После этого Access выключает в бланке запроса строки “Сортировка” и “Вывод на экран”. Для запросов удаления эти строки не нужны. Кроме того, для всех колонок бланка запроса в новой строке “Удаление” отображается текст “Условие”. Однако критерии при этом не меняются.

Если выполнить запрос выбором кнопки Выполнить, то Access не отобразит на экране результат выполнения запроса. Вместо него появиться сообщение о том, сколько записей будет удалено в исходной таблице. Можно прервать процесс удаления нажатием кнопки Отмена. Нажатие кнопки ОК приводит к безвозвратному удалению записей, удовлетворяющих критериям запроса.

Инструкция DELETE

Назначение: создание запроса на удаление записей из одной или нескольких таблиц, перечисленных в предложении FROM, которые удовлетворяют предложению WHERE.

Пример.

Удалить записи о всех сотрудниках, которые занимают должность «Стажер» и имеют запись в таблице «Оплата». Между таблицами «Сотрудники» и «Оплата» установлена связь 1:1

DELETE Сотрудники.*FROM Сотрудники INNER JOIN Оплата ON Сотрудники.КодСотрудника=Оплата.КодСотрудника WHERE Сотрудники.Должность='Стажер'.

5.2.5 Запросы на обновление

При необходимости выполнения одинаковых замен воспользуйтесь запросом на обновление. Сначала создайте запрос выбора и введите критерии для отбора изменяемых записей. Только в том случае, если результат запроса отвечает заданным требованиям, следует преобразовать его в запрос на обновление. Для этого выберите Запрос/Обновление. При этом будут выключены строки “Вывод на экран и “Сортировка” в бланке запроса. Обе строки не нужны для запроса на обновления. Вместо них включается новая строка “Обновление”. В эту строку следует ввести новые выражения для заменяемых записей. Обратите внимание, что тип данных выражения должен совпадать с типом данных поля исходной таблицы. Замена выполняется аналогично запросу - удаления, сначала выдается предупреждение, что имеется некоторое количество записей, удовлетворяющих условию отбора, при дальнейшем выборе кнопки ОК обновление будет выполнено, при выборе отмены, выполнение запроса будет прекращено.

Инструкция UPDATE

Назначение: создание запроса на обновление записей, который изменяет значение полей указанной таблицы на основе заданного условия отбора.

Пример.

Увеличить на 10 процентов цену на все товары поставщика, имеющего код 8, поставки которых еще не прекращены.

UPDATE Товары SET Цена = Цена * 1.1 WHERE КодПоставщика = 8

AND ПоставкиПрекращены = No.