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