Рис. 6.16.Результат выполнения запроса на выборку
8. Щелкните правой кнопкой мыши на заголовке вкладки запроса. Выберите команду Конструктор.
9. На вкладке Конструкторв группе Тип запросанажмите кнопку Удаление.
10. В бланке запроса в строке Удалениев столбце со значком *должно быть установлено значение Из, а в столбце с условием – значение Условие.
Результирующий бланк запроса на удаление показан на рис. 6.17.
Рис. 6.17.Результирующий бланк запроса на удаление
Текст запроса на удаление приведен в листинге 6.8.
...
Листинг 6.8.
Запрос на удаление
DELETE Заказы.*, Заказы. Клиент
FROM Заказы
WHERE (((Заказы. Клиент)=1));
11. Нажмите кнопку Выполнить. Откроется окно подтверждения операции.
12. Нажмите кнопку Да.
13. Откройте таблицу Заказыи посмотрите на внесенные в данные изменения (рис. 6.18). Теперь в таблице не осталось записей клиента с номером 1.
Рис. 6.18.Таблица Заказы после выполнения запроса на удаление
Обычно запросы на обновление или удаление используются, когда необходимо быстро обновить или удалить большое количество данных. Если нужно удалить несколько записей, как в данном случае, и это проще сделать вручную, можно открыть таблицу в режиме таблицы, выбрать поля или строки, которые требуется удалить, и нажать клавишу Delete.
Теперь удалите запись, являющуюся стороной «один» в отношении «один ко многим».
1. Откройте вкладку Работа с базами данныхи в группе Показать или скрытьвыберите команду Схема данных. Отобразится схема связей между таблицами базы данных (рис. 6.19).
Рис. 6.19.Вкладка Схема данных
Вы можете видеть линии, связывающие таблицы и представляющие собой связи между данными. Возле каждой таблицы указано, какой стороной отношения она является. Возле таблицы Товарыуказана 1, следовательно, эта таблица является стороной «один» в отношении «один ко многим» к таблице Заказы.
2. На вкладке Созданиев группе Другиенажмите кнопку Конструктор запросов.
3. В окне Добавление таблицыдважды щелкните кнопкой мыши на названии таблицы Товары. Нажмите кнопку Закрыть.
4. Дважды щелкните кнопкой мыши на звездочке над списком полей, чтобы добавить в выборку все поля.
5. Теперь дважды щелкните кнопкой мыши на названии поля Код, чтобы добавить его в выборку.
6. В бланке запроса в строке Условие отборадля поля Кодвведите условие выборки [Заказы]![Код] < 4. Таким образом, будут удалены все товары, имеющие код меньше четырех.
7. На вкладке Конструкторв группе Тип запросанажмите кнопку Удаление.
8. В бланке запроса в строке Удалениев столбце со знаком *должно быть установлено значение Из, а в столбце с условием – значение Условие.
Результирующий бланк запроса на удаление показан на рис. 6.20.
Рис. 6.20.Результирующий бланк запроса на удаление
Текст запроса на удаление приведен в листинге 6.9.
...
Листинг 6.9.
Запрос на удаление
DELETE Товары.*, Товары. Код
FROM Товары
WHERE (((Товары. Код)<4));
9. Нажмите кнопку Выполнить. Откроется окно подтверждения операции.
10. Нажмите кнопку Да. Записи не были удалены, так как существуют зависимые записи в таблице Заказы.
Есть два варианта решения подобной задачи. Если зависимых записей не много, можно удалить их вручную. В другом случае можно изменить свойства связи так, чтобы при удалении записи на стороне «один» удалялись также все зависимые записи. Для этого выполните следующие действия.
1) Нажмите кнопку Нет.
2) Перейдите на вкладку Схема данных.
3) Дважды щелкните кнопкой мыши на связи между таблицами Товарыи Заказы. Откроется окно Изменение связей(рис. 6.21).
Рис. 6.21.Окно Изменение связей
4) Установите флажок каскадное удаление связанных полейи нажмите кнопку ОК.
5) Еще раз запустите запрос на удаление.
Проверив записи в таблицах, вы можете убедиться, что удалены не только записи из таблицы
Товары, но и зависимые записи из таблицы
Заказы.
Анализ данных с помощью запросов
Читать дальше
Конец ознакомительного отрывка
Купить книгу