Шаг 42.
Запрос на удаление

   На этом шаге вы познакомитесь с запросом на удаление.

   Наряду с добавлением записей, часто возникает необходимость в удалении записей из таблицы при выполнении запроса. Например, в случае с отчисленными студентами при каждом новом выполнении запроса ДобавлениеОтчислен будут добавляться уже скопированные ранее записи, т.к. условием для запроса является только наличие признака "о" в поле Состояние. Поэтому удобным дополнением к запросу на добавление является запрос на удаление, с помощью которого в данном случае можно после добавления в таблицу СтудентыОтчислен удалить всех отчисленных студентов из таблицы Студенты.

   При создании запроса на удаление следует иметь в виду, что с удаляемыми записями могут быть связаны данные из другой таблицы. Например, студенты Жукова или Морозов имеют несколько оценок, т.е. существует непосредственная связь между данными в таблицах Студенты и Успеваемость. Другими словами, невозможно просто удалить записи для этих студентов из таблицы Студенты, так как в этом случае для нескольких записей из таблицы Успеваемость в поле КодСтудента будет содержаться ссылка на несуществующие записи в таблице Студенты.

   Для предотвращения подобной ситуации необходимо проверить, какой вид связи имеется между полями КодСтудента таблиц Студенты и Успеваемость, и убедиться, что для этой связи в диалоговом окне Изменение связей (см. рис. 3, шаг 15) установлен режим каскадное удаление связанных записей.

   Создание запроса выполнятся так же, как и в предыдущих случаях. Для простоты можно в данном случае воспользоваться готовым запросом ДобавлениеОтчислен, сохранив его под новым именем УдалениеОтчислен (рис. 1). При этом необходимо установить тип запроса Удаление с помощью кнопки Тип запроса .


Рис. 1. Макет запроса УдалениеОтчислен

   Теперь при каждом запуске данного запроса из таблицы Студенты будут удаляться все отчисленные студенты. Кроме того, будут также удаляться все связанные с ними записи из таблицы Успеваемость. Другими словами, из БД будет удаляться и студент, и его оценки.

Запрос на удаление можно увидеть здесь, а взять клип здесь.

   На следующем шаге будут рассмотрены свойства запросов.



Предыдущий шаг Содержание Следующий шаг