Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadanie_4_-_modifitsiruyuschie_zaprosy.docx
Скачиваний:
7
Добавлен:
17.03.2015
Размер:
35.52 Кб
Скачать

3. Запросы удаления

Если вам необходимо удалить несколько записей в таблице, достаточно выделить их и нажать клавишу «Del». А что делать, если необходимо удалить несколько сотен (тысяч) записей. Такая необходимость может возникнуть при переносе информации за истекший период (квартал, год) в таблицы архива.

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

Задание.

Вы решили поместить в архив из таблицы «Заказы» все записи о заказах, которые были выполнены до 31 декабря 2002 года.

  • Основную таблицу – не трогайте. Поэтому, создайте резервную копию таблицы «Заказы», записи из которой вы хотите поместить в архивную таблицу. Назовите ее «Заказы – резервная». Позднее вы ее удалите.

  • Перейдите на вкладку «Запросы» и откройте окно «Конструктора запросов».

  • В окне диалога «Добавление таблицы» дважды щелкните кнопкой мыши на таблице «Заказы – резервная» для добавления ее в окно запроса. Нажмите кнопку «Закрыть»

  • Выберите команду Запрос Удаление либо щелкните на кнопке «Удаление».

  • Дважды щелкните на звездочке, которая находится в верхней части списка полей таблицы «Заказы – резервная», для перенесения в всех полей таблицы в бланк запроса.

Дважды щелкните на поле «Дата исполнения» (поле для которого должно быть создано условие удаления записей) для помещения его во второй столбец бланка запроса.

  • В строке условие отбора поля «Дата исполнения» бланка запросов введите выражение «<=31.12.02» для отбора записей, подлежащих удалению.

Перейдите в режим таблицы для просмотра записей, которые будут удалены из таблицы «Заказы – резервная» после исполнения запроса.

В том случае, если записи отобраны правильно, перейдите в режим Конструктора запросов и запустите выполнение запроса.

Access сообщит вам сколько строк (записей) будет удалено в результате выполнения запроса.

  • Нажмите кнопку «ДА» для удаления записей, или кнопку «НЕТ» – для отказа от выполнения запроса.

  • Если вы в будущем хотите использовать этот запрос для удаления записей (естественно за другой период) сохраните его под именем «Запрос на удаление».

Внимание.

Удаление записей иногда может привести к непредсказуемым результатам, и, прежде всего к нарушению целостности базы данных, так как:

  • Таблица может являться частью отношения «Одинко – многим».

  • В качестве условия обеспечения целостности данных была использована опция «Каскадное удаление связанных записей».

Допустим, вы решили прекратить поставку товаров, определенным клиентам (например, из одной из стран СНГ) и, соответственно, удалить эти записи из таблицы «Клиенты». Однако, как вы помните, между таблицами «Клиенты» и «Заказы» была установлена связь типа «Одинко – многим». Если для обеспечения целостности данных была выбрана опция «Каскадное обновление связанных записей», то в результате удаления записей из таблицы «Клиенты» будут удалены и соответствующие записи из таблицы «Заказы». То есть, информация о выполненных и не завершенных сделках будет безвозвратно утеряна!