Удалить данные из таблицы можно просто, выбрав запись, которую надо удалить, и нажав на кнопку «Delete» на клавиатуре. Однако если надо удалить несколько сот или тысяч записей, то этот способ удаления займет много времени и нет гарантии, что при «ручном» (назовем этот способ удаления так) удалении будут удалены все записи, подлежащие удалению. Необходимость удаления большого количества записей может возникнуть при создании архивной таблицы. Например, после выполнения операции добавления данных из одной таблицы в другую, как было рассмотрено в предыдущем разделе.
Запрос на удаление также позволяет удалить из таблицы данные удовлетворяющие определенным условиям. Для подробного знакомства с запросом удаления рассмотрим создание запроса на удаление данных за январь 1998 года архивированных из таблицы «Продажи» в таблицу «Архив». Для создания запроса удаления необходимо:
1. Перейти на закладку «Запросы» окна БД.
2. Выполнить команду «Создать» и выбрать инструмент «Конструктор».
3. Добавить в окно конструктора запросов таблицу «Продажи» и закрыть окно добавления таблиц.
4. Командой «Удаление» из меню «Запрос» добавить в бланк запроса строку «Удаление:».
5. Так как записи из таблицы надо удалить полностью, то для заполнения бланка запроса надо дважды щелкнуть по звездочке над списком полей таблицы «Продажи» в верхней части окна конструктора запросов. В первой строке первого столбца бланка должен появиться текст «Продажи.*».
6. Далее надо указать условия удаления записей. Для этого дважды надо щелкнуть по полю «Дата» в списке полей таблицы «Продажи». После этого должен заполниться второй столбец бланка запросов. В строке «Условия отбора:» данного столбца надо записать условия отбора: >=1/1/98 And <=1/31/98.
7. Созданный запрос (рис.4.36) надо сохранить (например, под именем «Удаление после архивации»).
Запрос на удаление тоже по-другому отображается в списке запросов: рядом с именем запроса стоит значок крестик с восклицательным знаком. При запуске данного запроса также будет выдаваться сообщение о том, что запрос приведет к изменению данных в таблице и при продолжении работы запроса дальше появится сообщение о количестве удаляемых записей подобное сообщению на рис.4.35.
Если таблицы связаны отношением один-ко-многим и удаляются данные из главной таблицы, то запрос удаления удаляет из подчиненных таблиц все связанные записи без выдачи предупреждения, что может привести к проблемам при работе с БД в дальнейшем. В отличии от этого при удалении данных из главной таблицы в режиме просмотра таблицы Micorsoft Access выдает сообщение об удалении записей из подчиненной таблицы.