Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Access 2013, Office 2013
Создает запрос на удаление, который удаляет записи из одной или нескольких таблиц, указанных в предложении FROM, отвечающих предложению WHERE.
Синтаксис
DELETE [table.*] FROM table WHERE criteria
Оператор DELETE состоит из следующих частей:
Часть |
Описание |
---|---|
table |
Необязательное имя таблицы, из которой удаляются записи. |
table |
Имя таблицы, из которой удаляются записи. |
criteria |
Выражение, определяющее, какие записи нужно удалить. |
Комментарии
DELETE особенно полезен, если вы хотите удалить большое количество записей.
Чтобы удалить всю таблицу из базы данных, можно использовать метод Execute с оператором DROP. Однако, если удалить таблицу, может потеряться структура. С другой стороны при использовании DELETE удаляются только данные; а структура таблицы и все ее свойства, такие как атрибуты поля и индексы, остаются нетронутыми.
Вы можете использовать DELETE, чтобы удалить записи из таблиц, которые находятся в связи "один ко многим" с другими таблицами. Операции каскадного удаления вызывают удаление записей в таблицах, расположенных на стороне многих связей, при удалении соответствующей записи на стороне одной связи при запросе. Например, в связи между таблицами Клиенты и Заказы, таблица Клиенты находится на стороне одной связи, а таблица Заказы находится на стороне многих связей. Удаление записи из результатов клиентов в соответствующих записях заказов, удаляемых в случае, если указан параметр каскадного удаления.
Запрос на удаление удаляет записи целиком, а не только данные в определенных полях. Если вы хотите удалить значения в определенном поле, создайте обновленный запрос, который изменяет значение на Null.
Важно!
- После удаления записи с помощью запроса на удаление невозможно отменить данную операцию. Если вы хотите узнать, какие записи были удалены, сначала проверьте результаты запроса на выборку, в котором используется то же самое условие, и снова запустите запрос на удаление.
- Сохраняйте резервные копии ваших данных в любое время. Если вы удалили не те записи, вы сможете восстановить их из резервных копий.
Пример
В этом примере будут удалены все записи для сотрудников, чья должность — стажер. Если оператор FROM содержит только одну таблицу, нет необходимости перечислять имя таблицы в операторе DELETE.
Sub DeleteX()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Delete employee records where title is Trainee.
dbs.Execute "DELETE * FROM " _
& "Employees WHERE Title = 'Trainee';"
dbs.Close
End Sub