Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Поясниловка Access.doc
Скачиваний:
14
Добавлен:
08.11.2019
Размер:
2.39 Mб
Скачать

Запросы – действия в Access

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

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

ACCESS отмечает запросы-действия специальными значками.

Особенностью работы с запросами-действиями в Access является необратимость изменений после выполнения запроса.

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

Для создания резервной копии таблицы необходимо перейти в окно базы данных, выбрать таблицу, в которой произойдут изменения, а затем воспользоваться командой Правка/Копировать. Затем выполнить команду Правка/Вставить, и в диалоговом окне указать имя для копии таблицы.

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

Новый запрос желательно создать вначале как запрос на выборку. Так вы сможете проверить правильность отбора записей.

Прежде чем щелкнуть по кнопке Запуск, просмотрите результат в режиме таблице, воспользовавшись кнопкой Вид.

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

  • Создание таблицы.

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

.

  • Обновление.

Используется для того, чтобы обновить значения некоторых полей для всех отобранных записей. После входа в режим Конструктора запроса нужно выбрать команду Запрос/Обновление. После этого в бланке запроса появится строка Обновление. Эта строка используется для того, чтобы задать новые значения для выбранных записей. Обновлять значения можно не только в полях критериев, а в любом поле таблицы. Также для выбранных записей можно создавать вычисляемые поля.

  • Удаление.

Этот вид запросов служит для удаления группы записей базы данных, удовлетворяющих определенным условиям. Обычный запрос можно преобразовать в запрос на удаление с помощью команды Запрос/Удаление в режиме Конструктора запросов. При этом в бланке запроса появится строка Удаление, где можно ввести условие для удаления записей.

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

Если в результате запроса присутствуют только подлежащие удалению записи, следует преобразовать его в запрос на удаление.

Удаление записей может привести к непредсказуемым результатам, в том числе и к нарушению целостности базы данных, по следующим причинам:

- Таблица является частью отношения один-ко-многим

- В качестве условия обеспечения целостности данных использована опция Каскадное удаление связанных полей.

Например, вы решили исключить каких-то студентов и удалить соответствующие записи из таблицы Студенты. При этом существует также таблица Экзамены, которая связана с таблицей Студенты, отношением один – ко многим. Если для обеспечения целостности данных выбрана опция Каскадное удаление связанных полей, в результате удаления записей о студентах будут удалены записи об их оценках, то есть информация об успеваемости!

Если установлена опция Каскадное удаление связанных полей и вы пытаетесь удалить записи в режиме просмотра таблицы, то получите предупреждение о возможном удалении данных в других таблицах. А при использовании запросов на удаление вы не увидите предупреждения. MS Access выдаст только информацию о количестве удаляемых записей, но ничего не скажет про каскадное удаление.

  • Добавление.

Используется для добавления данных в имеющуюся таблицу.

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

Выполнение запроса на добавление записей можно начать (также как и в других запросах-действиях) с запуска запроса-выборки – для того, чтобы убедиться, что вы копируете необходимые записи.

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

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

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

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

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