Лабораторная работа №9 по теме Создание запросов-действий (модифицирующих запросов)

  • doc
  • 27.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 167. Лабораторная работа №9 по теме Создание запросов-действий (модифицирующих запросов).doc

Лабораторная работа №9 по теме Создание запросов-действий (модифицирующих запросов)

Цели работы:

Приобретение навыков работы с данными с помощью запросов-действий.

Задачи работы:

Научиться создавать и выполнять запросы на создание таблицы, на добавление, обновление и удаление данных.

Общие сведения.

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

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

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

Ø  Обновление созданной таблицы

Ø  Удаление записей из созданной таблицы

Ø  Добавление записей в созданную таблицу

Кнопки выбора действия находятся на вкладке Конструктор в разделе Тип запроса.

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

1. Создание таблицы с помощью запроса выполняется в три этапа:

    создание запроса на выборку;

    преобразование запроса на выборку в модифицирующий запрос;

    выполнение модифицирующего запроса, в результате которого будет создана таблица.

1.1. Создайте новый запрос на выборку с помощью Конструктора и добавьте в него таблицы  «Заказы», «Заказано» и «Клиенты».

1.2. Выберите поля, которые будут отображаться в результирующей таблице: «КодЗаказа», из таблицы «Заказы», «НаимТовара» таблицы «Заказано», «Название» из таблицы «Клиенты», «ДатаИсполнения» из таблицы «Заказы».

1.3. Используя оператор Between, выберите все заказы, относящиеся к 2008 году для помещения их в архив. Просмотрите результат выполнения запроса, перейдя в Режим таблицы. В результате должна получиться таблица, в которой отображаются  все заказы, выполненные в 2008 году. Вернитесь в Конструктор.

1.4. На втором этапе необходимо преобразовать запрос. Для этого на вкладке Конструктор в разделе Тип запроса выберите Тип Запроса: Создание таблицы.

1.5. Появится диалоговое окно Создание таблицы. В поле «имя таблицы» введите Архив. Установите переключатель «в текущей базе данных». Таблица будет создаваться в текущей базе данных (открытой в этот момент).  Нажмите ОК.

1.6. Не выполняя,  закройте запрос, присвоив ему имя «Для архива».

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

1.7. Для того, чтобы программа выполнила запрос надо изменить параметры безопасности. Для этого нажмите кнопку Параметры, находящуюся в центре экрана. Выберите «Включить это содержимое» и нажмите ОК

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

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

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

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

2.1. Создайте новый запрос аналогично предыдущему, используя те же таблицы и те же поля, которые есть в таблице «Архив».

2.2. Задайте критерий отбора записей: срок исполнения должен быть равен первому кварталу года  (например: Between #01.01.2009# And #31.03.2009#).

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

2.4. На втором этапе необходимо преобразовать запрос. Для этого на вкладке Конструктор в разделе Тип запроса выберите Тип запроса: Добавление.            В появившемся диалоговом окне в поле «имя таблицы» введите Архив. Установите переключатель в Текущей базе данных. Нажмите ОК. Закройте запрос и сохраните его под именем «Добавление в архив»;

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

2.5. Выполните запрос. В результате в таблицу «Архив» будут добавлены данные о   выполненных заказах.

Внимание! Если запрос на добавление выполнить несколько раз, то в таблице «Архив» данные будут повторяться. Чтобы этого не происходило в таблице «Архив» нужно задать   ключевое поле.  Ключевым полем можно выбрать поле «КодЗаказа».

3. Самостоятельная работа.

3.1. Запрос на удаление служит для удаления группы записей базы данных, удовлетворяющих определённым условиям. Используя модифицирующий запрос на удаление, удалите из таблицы «Товары» все товары, поставки которых прекращены.

Внимание! Перед созданием запроса на удаление сделайте копию таблицы «Товары», чтобы не потерять данные в случае ошибки.

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

Используя модифицирующий запрос на обновление, обновите в таблице «Товары» данные, заменив название поставщика. Например, «ОАО Боровский» на «Боровский».