Использование запросов для удаления данных.

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

Для удаления данных из базы данных Access можно использовать запросы двух типов. Тип используемого запроса зависит от того, что именно требуется удалить.

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

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

Если требуется удалить записи (строки) целиком, следует использовать запрос на удаление.

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

Следует помнить: если запись, которую нужно удалить, является стороной «один» отношения «один ко-многим», необходимо перед выполнением запроса изменить свойство этого отношения. Далее в этой статье в разделе Подготовка к удалению связанных данных объясняется, как выполнить эту задачу. Дополнительные изменения необходимо внести потому, что по умолчанию Access запрещает удаление данных на стороне «один» в отношении «один ко многим ».

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

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

Планирование удаления

Процесс использования запроса для удаления записей включает следующие основные этапы.

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

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

Если требуется удалить данные из нескольких таблиц, и эти таблицы связаны, включите параметры Целостность данных и Каскадное удаление связанных записей для каждой из связей. Это позволит запросу удалять данные из таблиц со стороны отношения «один» и «многие».

Создайте запрос на выборку и добавьте условия для получения нужного набора записей.

Если нужно удалить отдельные поля из таблицы, преобразуйте запрос на выборку в запрос на обновление, введите значение NULL или пустую строку

( "" ) в качестве условия обновления и выполните запрос.

Если нужно удалить записи целиком, преобразуйте запрос на выборку в запрос на удаление и выполните его.

Подготовительные действия.

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

Убедитесь, что база данных доступна не только для чтения. Для этого в проводнике Windows щелкните правой кнопкой мыши файл базы данных (с расширением accdb или mdb) и выберите в контекстном меню команду Свойства. В диалоговом окне Свойства должен быть снят флажок только чтение. Проверьте наличие необходимых разрешений на удаление записей из базы данных. Убедитесь, что удаление записей не повлияет на работу других пользователей. Попросите всех пользователей базы данных закрыть все таблицы, формы, запросы и отчеты, в которых используются удаляемые данные. Это позволит избежать конфликтов блокировки.

Совет. Если базу данных использует большое количество пользователей, может потребоваться завершить ее работу и открыть повторно в режиме монопольного доступа.