Модификация данных с помощью запросов действий 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модификация данных с помощью запросов действий



 

Запрос действия изменяет данные или копирует их из одной таблицы в другую. В отличие от запроса выбора он не создает Dynаset, который можно отобразить на экране в табличном представлении. Для того, чтобы увидеть изменения, нужно либо снова преобразовать запрос действия в запрос выбора (для запросов обновления), либо открыть таблицу (для запросов создания таблиц, добавления и удаления записей).

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

 

Запрос добавления

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

 

Запрос удаления

С помощью запроса удаления можно удалить группу блоков данных, отобранных по определенному критерию. При этом следует проявить осмотрительность и тщательно проанализировать критерий отбора, поскольку эту операцию нельзя отменить. Для выполнения удаления записей из таблицы сначала следует спроектировать запрос выбора, чтобы выбрать удаляемые блоки данных. По завершению задания критериев отбора следует выполнить запрос выборки, чтобы оценить корректность сформированных условий. Чтобы создать запрос на удаление из запроса-выборки, следует выполнить команду Запрос/Удаление в режиме конструктора запроса.

 

Пример 14. Удалить сведения о продаже товаров за определенный месяц.

Поле Month([ОТПУСК]![Дата]) Year(ОТПУСК[]![Дата])

Имя таблицы

Условие отбора [Месяц удаления] [Год удаления]

 

Запрос обновления

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

После того, как Access выберет нужные записи, не составит особого труда преобразовать этот запрос-выборку в запрос-обновление или в другой тип запроса действия. Используя этот запрос, пользователь может изменить группу блоков данных, отобранную на основе определенных критериев.

Чтобы преобразовать запрос-выборку в запрос-обновление, следует в режиме конструктора запроса выполнить команду Запрос/Обновление. В строке Обновление для соответствующего поля вводится выражение. В квадратных скобках указываются имена полей. Когда Access готов приступить к обновлению данных в базовой таблице или запросе, он сначала делает копию исходной записи. Access применяет заданные пользователем выражения к исходной записи и помещает результаты в копию, затем меняет содержимое базы данных, переписывая модифицированную копию в таблицу.

 

Пример 15. Увеличить цену товаров заданного типа на 20%.

Поле Название Тип Цена

Имя таблицы ТОВАРЫ ТОВАРЫ ТОВАРЫ

Обновление [Цена]*1.2

Условие отбора [Введите тип]

 

Запрос создания таблицы

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

Сначала следует создать запрос выбора и получить динамический набор данных Dynaset, заодно проверив при этом корректность запроса. Если Dynaset соответствует представлениям пользователя, следует превратить запрос-выборку в запрос на создание таблицы, выполнив команду Запрос/Создание таблицы в режиме конструктора запроса. В диалоговом окне Свойства запроса следует указать имя для создаваемой таблицы.

Во время выполнения запроса-действия Access различает следующие категории ошибок:

* дубликаты первичных ключей;

* ошибки преобразования данных, когда при добавлении данных в таблицу тип данных поля-получателя не совпадает типом поля-источника;

* заблокированные записи, когда при обновлении или удалении записей таблица используется другим пользователем сети;

* нарушение условий на значение, когда вставляемые или обновляемые данные не удовлетворяют условиям на значения полей или таблицы.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 536; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.208.72 (0.004 с.)