Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаборатор access.doc
Скачиваний:
41
Добавлен:
02.02.2015
Размер:
33 Мб
Скачать
☆

Лабораторная работа № 5

ЗАПРОСЫ НА ИЗМЕНЕНИЕ ДАННЫХ

Тема: запросы на изменение данных в MS Acess 97.

Цель: научиться создавать запросы модификации данных в Access при помощи бланка QBE.

1. Постановка задачи

1. Создание запросов создания таблиц.

2. Создание запроса модификации данных таблицы.

3. Создание запроса на добавление данных в существующую таблицу.

4. Создание запросов на удаление данных из таблицы.

2. Пример решения

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

Вначале удобно создать запрос-выборку, фильтрующий данные, над которыми необходимо произвести действие. Запрос запускается, проверяется выходная таблица, и если запрос правильно отбирает данные, которые должны модифицироваться, преобразуется в запрос − действие. А затем этот запрос преобразуется в запрос − действие. Эта последовательность действий применяется и при работе с дизайнером запросов, и при использовании непосредственно команд SQL.

2.1. Вставка данных в таблицу.

Откроем базу данных STUD, и в ней таблицу "Новые результаты". Откроем окно нового запроса в режиме конструктора и выполним команду "Добавление" в меню "Запрос". Введем имя таблицы ”Новые результаты”. В диалоговом окне "Свойства запроса" введем имя таблицы, в которую будем добавлять данные – “Результаты". Если данные для копирования находятся в другой базе данных − установить переключатель в положение "В другой базе данных" и ввести внизу путь к базе − источнику. Нажмем кнопку "Ок".

Появится бланк запроса на добавление. Нам необходимо скопировать все поля, поэтому из списка названий полей перенесем символ "*". Если названия полей или их свойства различны − необходимо в бланке QBE описать все соответствия между полями исходной таблицы и таблицы − приемника. Если какое-то поле есть в таблице-приемнике, но не определено соответствие этому полю в источнике, то в нем ставится системой значение по умолчанию.

Access позволяет задавать условие фильтрации данных для вставки в таблицу. Для этого в столбцах, по которым будет идти отбор, в строке "Условие отбора" вводится корректное условие для выборки данных. Введем для поля "Дата сдачи" параметрическое ограничение по дате, начиная с которого будет производиться выборка на добавление

[Введите дату]

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

2.2. Создание новой таблицы при помощи запроса.

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

Создадим запрос − действие формирующий таблицу “Данные в деканат” о студентах сдавших задолженность в течении сессии. За основу возьмем запрос "Итог", созданный в предыдущей лабораторной работе. Вызовем его в режиме конструктора. Сбросим все условия отбора записей и все групповые функции. Группировку оставим по номерам студентов и фамилии, а в группы будут входить только записи, у которых дата сдачи задолженности попадает в задаваемый пользователем временной диапазон.

Для поля "дата сдачи" в строке "Групповая операция" установим значение "Условие", а в строке "Условие отбора" введем:

[Введите дату окончания сессии]

Мы создали параметрический запрос − выборку, выводящий информацию о должниках за определенный период. Для преобразования его в запрос на создание таблицы выполним команду "Создание таблицы" в меню "Запрос". В появившемся окне введем имя создаваемой таблицы. Сохраним полученный запрос под именем "Итоги в деканат".

Запустим запрос на выполнение командой "Запуск" меню "Запрос". Access запросит параметры для условия отбора, после чего (проанализировав все записи на соответствие этому условию), выдаст число записей, на которых будет сформирована генерируемая таблица. Нажмем кнопку "Ок". Для просмотра созданной таблицы активизируем окно базы данных и выбрав корешок "Таблицы" просмотрим таблицу "Данные в деканат".

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

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

"Создание таблицы" в меню "Запрос" выполняется команда "Добавление" этого же меню. В появившемся окне необходимо ввести только имя таблицы для дописывания итоговых данных.