Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Изменение данных при помощи запросов.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
549.39 Кб
Скачать

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

Изменение данных с помощью запросов

Довольно часто возникают ситуации, когда приходится вносить много однотипных изменений в некоторый набор записей. Предположим, что цена на каждый товар, относящийся к определенной группе, увеличилась на 10 процентов. Не правда ли, было бы неплохо обойтись без долгой и нудной процедуры изменения цены отдельно для каждого товара? Эту задачу можно возложить на Microsoft Access: все необходимые вычисления и обновление данных будут выполнены автоматически. Для этого следует создать запрос-изменение.

В этой лабораторной рассказывается, как создавать запросы, которые создают новые или вносят изменения в существующие таблицы, выполняя операции сразу над всеми записями, включенными в определенный набор.

1. Создание запросов-изменений

С помощью запросов-изменений можно создавать новые таблицы и изменять данные в существующих таблицах. Существует 4 типа запросов изменений:

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

  • Запрос на удаление записей Удаляет записи из одной или нескольких таблиц.

  • Запрос на добавление записей Добавляет группу записей из одной или нескольких таблиц в одну или несколько других таблиц.

  • Запрос на обновление записей Изменяет данные в группе записей.

Чем запросы-изменения отличаются от запросов-выборок?

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

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

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

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

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

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

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

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

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

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

2. Создание новых таблиц

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

  • Создания отчетов для представления данных, соответствующих определенному моменту времени. Предположим, что требуется напечатать отчет и представить в нем сведения так, будто момент печати отчета соответствует определенному времени, например, 9 часам утра 31 марта 1993 г. Для этого следует создать запрос на создание таблицы, который отберет нужные записи и поместит их в новую таблицу, а затем использовать эту таблицу (а не запрос) в качестве источника данных для отчета. (Для сравнения: отчет, основанный на запросе, отберет из таблиц данные, соответствующие текущему, а не указанному моменту времени. )

  • Создания резервной копии таблицы.

  • Создания таблицы, предназначенной для хранения старых записей, например, позапрошлогодних заказов. (Кроме того, для этой цели можно использовать мастера по разработке запросов "Архивирование".)

  • Повышения быстродействия форм и отчетов, основанных на много табличных запросах. Предположим, что требуется напечатать, несколько отчетов, основанных на запросе, который содержит пять таблиц и выполняет групповые вычисления. Печать этих отчётов займет меньше времени, если сначала будет создан запрос на создание таблицы, который отберет нужные записи и поместит их в одну таблицу, которую можно использовать в качестве источника данных для отчетов, так как при печати каждого отчета не надо будет заново выполнять базовый запрос. Недостаток этого способа состоит в том, что данные в такой таблице будут соответствовать не текущему моменту, а моменту выполнения запроса.

Чтобы создать запрос на создание таблицы:

  1. Зайдите в конструктор запросов и выберите таблицы и запросы, содержащие поля, которые следует включить в новую таблицу.

  2. После этого нажмите "Создание таблицы" .На экране появится окно "Запрос-выборка".

  3. В окне диалога Создание таблицы укажите следующие сведения:

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

  • Укажите, в какой базе данных должна быть создана новая таблица: в текущей или другой базе данных. В последнем случае следует дополнительно указать имя файла, который содержит нужную базу данных Microsoft Access (а если требуется, то и путь).

Совет: Кроме того, можно указать путь к базе данных Microsoft FoxPro, Paradox, dBASE или Btrieve или ввести строку подключения к базе данных SQL. Примеры можно найти в справочной системе по ключевому слову "Создание таблицы, команда меню".

  1. Нажмите кнопку "OK".

  2. Добавьте поля, которые следует включить в новую таблицу, и определите условия отбора.

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

Чтобы проверить запрос на создание таблицы:

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

1. Выберите Таблица в меню Главная (или нажмите кнопку "Режим таблицы" на панели инструментов).

На экране появятся поля и записи новой таблицы.

2. Для внесения изменений в запрос вернитесь в режим конструктора.

Чтобы выполнить запрос на создание таблицы:

1. Вернитесь в режим конструктора запросов и выберите Выполнить на панели инструментов.

На экране появится сообщение о числе измененных записей.

2. Для завершения выполнения запроса нажмите кнопку "ОК".

После выполнения запроса на создание таблицы у вас может возникнуть желание открыть новую таблицу в режиме конструктора и определить для нее ключ и другие свойства. Поля в новой таблице будут иметь те же типы данных и значения свойства "Размер поля", что и поля в исходных таблицах. Однако в новой таблице не будет определен ключ; кроме того, не будет унаследовано ни одно из остальных свойств таблиц и полей.

3. Для того чтобы проверить, что запрос разработан правильно, нажмите кнопку "Режим таблицы" на панели инструментов. В таблице должны показаны заказы с номерами, меньшими 10050.

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

Пример: Создание таблицы для хранения старых заказов

Предположим, что вы обнаружили, что довольно редко просматриваете прошлогодние заказы, и решили переместить их в отдельную таблицу, а затем удалить их из таблицы "Заказы".

  1. Создайте новый запрос и включите в него таблицу "Заказы" из базы данных "Борей".

  2. Нажмите кнопку "Создание таблицы" на панели инструментов.

  3. В окно диалога Свойства запроса введите Старые заказы в поле "Таблица", выберите "В текущей базе данных", а затем нажмите кнопку "ОК".

  4. Перенесите все поля в бланк QBE, а в поле "Заказ" введите условие отбора, показанное на следующем рисунке.


  1. Вернитесь в режим конструктора запросов и нажмите кнопку "Выполнить" на панели инструментов.

На экране появится сообщение о том, сколько записей скопировано в новую таблицу.

  1. Для завершения выполнения запроса нажмите кнопку "OK". Microsoft Access создаст новую таблицу.

  1. Перейдите в окно базы данных, чтобы увидеть новую таблицу среди остальных таблиц.