Читаем Microsoft Access 2007 полностью

Листинг 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) Еще раз запустите запрос на удаление.

Проверив записи в таблицах, вы можете убедиться, что удалены не только записи из таблицы Товары , но и зависимые записи из таблицы Заказы .

Анализ данных с помощью запросов

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

Для анализа данных используются статистические функции.

Перейти на страницу:

Все книги серии Видеосамоучитель

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных