Глава 4
Запросы на изменение
К запросам на изменение относятся запросы на обновление данных в записях таб-
лицы базы, на добавление и удаление записей из таблицы, а также запросы на соз-
дание таблицы из записей, сформированных в нем.
Для разработки запросов на изменение в Access можно использовать конструктор.
Процесс создания любого запроса на изменение начинается с создания запроса на
выборку, который после добавления в него необходимых таблиц нужно преобразо-
вать в запрос на изменение.
По умолчанию Access 2013 в целях обеспечения безопасности, как правило, блоки-
рует выполнение всех запросов на изменение. Если при выполнении запроса на из-
менение ничего не происходит, проверьте, не появляется ли в строке состояния
Access сообщение:
Если отображается это сообщение и панель сообщений (рис. 4.39), для включения
заблокированных запросов можно нажать на ней кнопку
Включить содержимое
(Enable content). После этого выполнение запроса будет доступным.
Рис. 4.39.
Панель сообщений (Message Bar)
Если панель сообщений была закрыта и больше не отображается, перейдите на
вкладку
ФАЙЛ
(File) и на открытой странице
Сведения
(Info) в блоке
Предупре-
ждение системы безопасности
(Security Warning) нажмите кнопку
Включить
содержимое
(Enable content) (рис. 4.40).
Рис. 4.40.
Блок включения потенциально опасного содержимого
В списке
Включить содержимое
(Enable Content) (рис. 4.41) можно
Включить все
содержимое
(Enable All Content) открытой базы данных. Это приведет к тому, что
при повторных открытиях базы ни панели сообщения, ни сообщений о невозмож-
Запросы
197
ности выполнения запроса действия выводиться не будет, т. к. база данных будет
отнесена к разряду надежных. То же самое происходит, если была нажата кнопка
Включить содержимое
(Enable content) на панели сообщений.
Выбор строки
Дополнительные параметры
(Advanced Options) открывает окно
параметров безопасности Microsoft Office, в котором можно включить опасное со-
держимое только на время сеанса. При следующем открытии базы данных опять
появится панель сообщений и, если не включать содержимое, запросы действия
выполняться не будут.
Рис. 4.41.
Выбор варианта включения потенциально опасного содержимого
Чтобы вернуть возможность управления содержимым, откройте окно
Параметры
Access
(Access Options) соответствующей
командой на вкладке ленты
ФАЙЛ
,
щелкните на строке
Центр управления безопасностью
(Trust Center) и выберите
далее опцию
Параметры центра управления безопасностью
(Trust Center
Settings). В окне центра на странице
Надежные документы
(Trusted Documents)
в строке
Сбросить пометку о надежности для всех надежных документов
(Clear
all Trusted Documents so that they are no longer trusted) нажмите кнопку
Очистить
(Clear).
О
БРАТИТЕ ВНИМАНИЕ
Единое средство вывода предупреждений системы безопасности — панель сообще-
ний — по умолчанию появляется при открытии базы данных Access 2013 вне дове-
ренного расположения. Если точно известно, что можно доверять содержимому базы
данных, включите все отключенные потенциально опасные, активные компоненты —
запросы на изменение, макросы, элементы управления ActiveX, некоторые выражения
и программы на VBA — при открытии базы данных, содержащей один или несколько
этих компонентов.
Конструирование запроса на создание таблицы
Запрос на создание таблицы используется для сохранения результата запроса. Этот
вид запроса основан на запросе на выборку, но, в отличие от него, сохраняет табли-
цу с результатами запроса.
Сформируем запрос на
создание таблицы на примере ранее полученного запроса на
выборку
с групповыми вычислениями
Число отгрузок по договорам
(см. рис. 4.15
и 4.16).
1.
В области навигации
выделите названный запрос и с помощью команды контек-
стного меню откройте его в режиме конструктора.
198
Глава 4
2.
Преобразуйте этот запрос на выборку в запрос на создание таблицы, выполнив
команду
Создание таблицы
(Make-Table) в группе
Тип запроса
(Query Type) на
вкладке конструктора или выбрав команду контекстного меню запроса
Тип за-
проса | Создание таблицы
(Query Type | Make-Table Query).
3.
В окне
Создание таблицы
(Make Table) введите имя создаваемой таблицы
Число
отгрузок
(рис. 4.42).
Рис. 4.42.
Определение имени таблицы, создаваемой в запросе
4.
Для того чтобы просмотреть, какие записи будут помещены в новую таблицу,
щелкните по кнопке
Режим
(View) на ленте конструктора запросов в группе
Результаты
(Results).
5.
Выполните запрос, чтобы таблица Число отгрузок
была сохранена в базе дан-
ных. Теперь эту таблицу можно увидеть в списке таблиц области навигации.
6.
Перейдите в режим
SQL. Эквивалентная запросу на создание таблицы инст-
рукция
SELECT ... INTO
будет записана следующим образом:
SELECT НАКЛАДНАЯ.НОМ_ДОГ, Count(НАКЛАДНАЯ.НОМ_ДОГ AS [Count-НОМ_ДОГ]
INTO [Число отгрузок]
FROM НАКЛАДНАЯ
GROUP BY НАКЛАДНАЯ.НОМ_ДОГ;
Инструкция
SELECT ... INTO
аналогично
SELECT
выполняет выборку данных, но,
в отличие от нее, для сохранения выбранных данных создает новую таблицу,
имя которой указывается в предложении
INTO
. Новая таблица включает перечис-
ленные в
SELECT
поля таблиц, указанных в предложении
FROM
. Допустимо ис-
пользование предложения
GROUP BY
, определяющего поле группировки. При
этом список полей новой таблицы в примере включает поле, вычисляемое с по-
мощью статистической функции
Count
. Если перед предложением
GROUP BY
по-
местить предложение
WHERE
, группы будут формироваться из записей, отобран-
ных в соответствии с условиями, заданными в предложении
WHERE
.
Конструирование запроса на
обновление
Для обновления данных в полях базовых таблиц может быть использован запрос
Обновление
(Update). Изменения вносятся в группу записей, выбираемых с по-
мощью указанных пользователем условий отбора. Значения для изменений в полях
определяются в бланке запроса в строке
Обновление
(Update To).
Запросы
199
Задача
Рассчитайте стоимость товара в каждой строке таблицы ОТГРУЗКА и сохраните ее
в поле
СУММА_ОТГР
этой же таблицы.
1.
Для формирования запроса на обновление сначала создайте запрос
Выборка
(Select) на основе двух таблиц: обновляемой таблицы ОТГРУЗКА и таблицы
ТОВАР, в которой содержится необходимая для вычисления стоимости цена то-
вара.
2.
Преобразуйте запрос на выборку в запрос на обновление, щелкнув на кнопке
Обновление
(Update), размещенной на вкладке ленты
Конструктор
(Design),
или выбрав команду
Обновление
(Update) из списка
Тип запроса
(Query Type)
в контекстном меню запроса. После выполнения этой команды в бланке запроса
появляется строка
Обновление
(Update To)
(рис. 4.43).
Обновляемое
поле
Поле для
условия отбора
Выражение, определяющее новое
значение поля
СУММ_ОТГР
Параметр запроса для отбора
обновляемых записей
Рис. 4.43.
Пример запроса на обновление
3.
Заполните бланк запроса. Перетащите обновляемое поле
СУММА_ОТГР
из списка
таблицы ОТГРУЗКА в строку
Поле
. В строку
Обновление
(Update To)
введите
выражение
[ЦЕНА]*[КОЛ_ОТГР]
, которое рассчитывает значение для обновления.
200
Do'stlaringiz bilan baham: |