При составлении запросов могут использоваться объединение таблиц, параметры, функции, рассмотренные для создания запросов в предыдущей главе.
Необходимо помнить, что если открывается база данных, которая находится не в надежном расположении, и при этом ей не предоставлено состояние доверенной, то приложение Access по умолчанию не допускает выполнения запросов на изменение, то есть запросов на добавление, обновление, удаление или на создание таблицы.
Если при попытке выполнения запроса на изменение ничего не происходит, проверьте, не появляется ли в строке состояния следующее сообщение: Данное действие или событие заблокировано в режиме отключения (рис. 6.1).
Рис. 6.1. Строка состояния при заблокированном содержимом
Если оно отображается, необходимо включить заблокированное содержимое. Для этого выполните следующие действия.
1. На панели сообщений нажмите кнопку Параметры . Откроется окно Параметры безопасности Microsoft Office (рис. 6.2).
2. Установите переключатель в положение Включить это содержимое .
3. Нажмите кнопку ОК .
4. Перезапустите запрос.
Далее в этой главе будет рассмотрено создание различных типов запросов на изменение на множестве конкретных примеров.Создание таблиц с помощью запроса
Источником данных при создании новой таблицы являются уже существующие одна или несколько таблиц. Новая таблица может находиться в той же базе данных, где находится источник, или в любой другой.
Для чего нужно создание таблиц с помощью запроса? В основном для архивации данных. Предположим, у вас есть запрос на выборку, использующий несколько таблиц. При этом запрос используется часто, а данные в таблицах остаются неизменными. В таком случае проще и быстрее один раз поместить результаты выборки в новую таблицу и использовать ее вместо сложного запроса на выборку.
Примечание
После создания данные в новой таблице не связаны с данными источника. Поэтому ваша задача – следить за актуальностью данных в случае архивации.
Запрос на создание таблицы создается путем преобразования запроса на выборку. Добавьте новую таблицу в учебную базу данных Отдел продаж .
1. Откройте базу данных Отдел продаж .
2. На вкладке Создание в группе Другие нажмите кнопку Конструктор запросов .
3. В окне Добавление таблицы (рис. 6.3) дважды щелкните кнопкой мыши на названиях таблиц, из которых нужно получить данные: Клиенты и Заказы . Нажмите кнопку Закрыть .
Рис. 6.3. Окно Добавление таблицы
4. В каждой таблице дважды щелкните кнопкой мыши на полях, которые необходимо добавить в выборку. Выберите поля Номер и Имя из таблицы Клиенты и поля Дата , Товар , Количество , Сумма из таблицы Заказы .
5. Добавьте условие отбора =1 в строку Условия отбора бланка запроса, чтобы выбирались сделанные заказы для первого клиента.
Текст запроса на выборку приведен в листинге 6.1.Листинг 6.1.
Запрос на выборку
SELECT Клиенты. [Номер (ID)], Клиенты. Имя, Заказы. Дата, Заказы. Товар, Заказы. Количество, Заказы. Сумма
FROM Клиенты INNER JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент
WHERE (((Клиенты. [Номер (ID)])=1));
6. Теперь перейдите на вкладку Конструктор и выберите команду Выполнить (рис. 6.4).
Рис. 6.4. Результат выполнения запроса на выборку
Был создан запрос на выборку из двух таблиц. До сих пор использовались знания, полученные из предыдущей главы. Чтобы преобразовать запрос, выполните следующие действия.
1. Щелкните правой кнопкой мыши на заголовке вкладки запроса. Выберите команду Конструктор .
2. На вкладке Конструктор в группе Тип запроса выберите команду Создание таблицы . Откроется окно Создание таблицы (рис. 6.5).
3. В раскрывающемся списке имя таблицы выберите название новой таблицы – Заказы клиента 1 . Установите переключатель в положение в текущей базе данных . Нажмите кнопку ОК . Текст запроса приведен в листинге 6.2.