Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access часть2.doc
Скачиваний:
20
Добавлен:
14.08.2019
Размер:
6.24 Mб
Скачать

3. Запрос на удаление записей.

Запрос на удаление записей из таблицы является одним из четырех типов запросов на изменение. Запросы на изменение (или выполняемые запросы) за одну операцию вносят изменения сразу в несколько записей исходной таблицы (или таблиц). Кроме запроса на удаление, существуют также следующие типы запросов на изменение: на обновление записей, на добавление и на создание таблицы. Запросы на изменение оптимизированы, поэтому выполняются достаточно быстро. Это означает, что можно очень быстро внести в базу данных огромное количество изменений. Использование для этих целей выполняемых запросов с точки зрения быстродействия гораздо более эффективней применения программ на языке Visual Basic.

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

3.1. Запрос на удаление всех записей из таблицы (очистка таблицы)

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

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

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

  • добавление данных в таблицу. В этом случае данные из скопированной таблицы добавляются в конец уже существующей в базе данных таблицы, структуры обеих таблиц должны при этом совпадать.

Выберите параметр Структура и данные и нажмите кнопку ОК. В результате, в списке таблиц окна базы данных появится копия таблицы Заказы.

Рис. 3.1. Окно Вставка таблицы

Перейдите на вкладку Запросы окна базы данных, откройте новый запрос в режиме конструктора и добавьте в него таблицу Заказы (копия). Затем щелкните правой клавишей мыши в зоне таблиц конструктора и из контекстного меню выберите пункт Тип запроса | Удаление. Готовый запрос можно запустить на выполнение, нажав кнопку с восклицательным знаком Запуск на панели инструментов, или, сначала закрыть его, сохранив под каким-либо именем, а затем нажать кнопку Открыть окна базы данных. Остановить работающий запрос до его завершения можно при помощи комбинации клавиш клавиатуры Ctrl-Break. После запуска любого запроса на изменение система выдает об этом предупреждающее сообщение. Если нажать кнопку Да, система выдаст очередное предупреждение о количестве удаляемых записей. Это последняя возможность отменить удаление. После нажатия кнопки Да записи будут удалены из таблицы и вернуть их назад уже не удастся.

Оператор SQL для вышеописанного запроса имеет достаточно простой вид: DELETE *FROМ [Заказы (копия)]. Ключевое слово Delete задает тип запроса — удаление, звездочка (*) указывает на то, что удалению подлежат записи из всех таблиц, указанных в запросе (в данном случае таблица одна), а в предложении From указано имя таблицы, записи из которого подлежат удалению.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]