- •1. Создание запросов-изменений
- •2. Создание новых таблиц
- •3. Удаление записей
- •4. Добавление записей
- •Выберите Выполнить в меню Запрос (или нажмите кнопку "Выполнить" на панели инструментов).
- •Для завершения выполнения запроса и добавления записей нажмите кнопку "ок".
- •Создайте новый запрос и включите в него таблицу "Старые заказы".
- •Выберите Добавление в меню Запрос.
- •В окне диалога Свойства запроса выберите "Заказы" из списка таблиц, выберите "в текущей базе данных", а затем нажмите кнопку "ок".
- •5. Добавление записей, содержащих поля-счетчики
- •6. Обновление таблиц
Лабораторная работа
Изменение данных с помощью запросов
Довольно часто возникают ситуации, когда приходится вносить много однотипных изменений в некоторый набор записей. Предположим, что цена на каждый товар, относящийся к определенной группе, увеличилась на 10 процентов. Не правда ли, было бы неплохо обойтись без долгой и нудной процедуры изменения цены отдельно для каждого товара? Эту задачу можно возложить на Microsoft Access: все необходимые вычисления и обновление данных будут выполнены автоматически. Для этого следует создать запрос-изменение.
В этой лабораторной рассказывается, как создавать запросы, которые создают новые или вносят изменения в существующие таблицы, выполняя операции сразу над всеми записями, включенными в определенный набор.
1. Создание запросов-изменений
С помощью запросов-изменений можно создавать новые таблицы и изменять данные в существующих таблицах. Существует 4 типа запросов изменений:
Запрос на создание таблицы Создает новую таблицу, полностью или частично копируя структуру и данные из одной или нескольких таблиц.
Запрос на удаление записей Удаляет записи из одной или нескольких таблиц.
Запрос на добавление записей Добавляет группу записей из одной или нескольких таблиц в одну или несколько других таблиц.
Запрос на обновление записей Изменяет данные в группе записей.
Чем запросы-изменения отличаются от запросов-выборок?
При создании каждого запроса Microsoft Access создает запрос-выборку, если пользователь явно не выбрал другой тип запроса в меню Запрос. Результатом выполнения запроса-выборки является динамический набор обновляемых записей, извлеченных из базовых таблиц. Пользователь может просмотреть динамический набор и внести в него изменения. При этом изменения вносятся последовательно в каждую запись.
Если планируется выполнить большое количество однотипных изменений, можно сэкономить время, используя запрос-изменение. При выполнении запроса- изменения все необходимые изменения вносятся в таблицу за одну операцию.
Например, для удаления из таблицы сведений обо всех товарах, поставки которых были прекращены, достаточно выполнить один запрос-изменение, который удалит все ненужные записи.
Для того чтобы пользователь случайно не выполнил запрос-изменение, каждому из четырех типов запросов-изменений в окне базы данных соответствует особый значок с восклицательным знаком.
Запрос
на создание таблицы
Запрос
на удаление записей
Запрос
на добавление записей
Запрос
на обновление записей
Кроме того, при открытии запроса-изменения и окне базы данных пользователю предлагается подтвердить, что он действительно хочет выполнить этот запрос. Для того чтобы отменить выдачу предупреждения при каждом выполнении запроса-изменения, следует выбрать Настройка в меню Вид, выбрать категорию "Общая настройка", а за тем выбрать значение "Нет" параметра "Подтверждение запроса-изменения".
Совет: Если база данных содержит важные данные, то перед выполнением запроса-изменения рекомендуется создать ее резервную копию. Сведения о резервировании баз данных можно найти в справочной системе по ключевой фразе "администратор базы данных". Кроме того, можно просто создать копии таблиц перед изменением.
2. Создание новых таблиц
Запрос на создание таблицы создает новую таблицу и помещает в нее записи, указанные пользователем. Пользователь может указать поля, которые следует включить в новую таблицу. Запросы на создание таблицы удобно использовать для:
Создания отчетов для представления данных, соответствующих определенному моменту времени. Предположим, что требуется напечатать отчет и представить в нем сведения так, будто момент печати отчета соответствует определенному времени, например, 9 часам утра 31 марта 1993 г. Для этого следует создать запрос на создание таблицы, который отберет нужные записи и поместит их в новую таблицу, а затем использовать эту таблицу (а не запрос) в качестве источника данных для отчета. (Для сравнения: отчет, основанный на запросе, отберет из таблиц данные, соответствующие текущему, а не указанному моменту времени. )
Создания резервной копии таблицы.
Создания таблицы, предназначенной для хранения старых записей, например, позапрошлогодних заказов. (Кроме того, для этой цели можно использовать мастера по разработке запросов "Архивирование".)
Повышения быстродействия форм и отчетов, основанных на много табличных запросах. Предположим, что требуется напечатать, несколько отчетов, основанных на запросе, который содержит пять таблиц и выполняет групповые вычисления. Печать этих отчётов займет меньше времени, если сначала будет создан запрос на создание таблицы, который отберет нужные записи и поместит их в одну таблицу, которую можно использовать в качестве источника данных для отчетов, так как при печати каждого отчета не надо будет заново выполнять базовый запрос. Недостаток этого способа состоит в том, что данные в такой таблице будут соответствовать не текущему моменту, а моменту выполнения запроса.
► Чтобы создать запрос на создание таблицы:
Зайдите в конструктор запросов и выберите таблицы и запросы, содержащие поля, которые следует включить в новую таблицу.
После этого нажмите "Создание таблицы"
.На
экране появится окно "Запрос-выборка".В окне диалога Создание таблицы укажите следующие сведения:
Введите имя новой таблицы или, если новая таблица должна заменить таблицу, существующую в текущей базе данных Microsoft Access, нажмите кнопку раскрытия списка и выберите имя таблицы из списка.
Укажите, в какой базе данных должна быть создана новая таблица: в текущей или другой базе данных. В последнем случае следует дополнительно указать имя файла, который содержит нужную базу данных Microsoft Access (а если требуется, то и путь).
Совет: Кроме того, можно указать путь к базе данных Microsoft FoxPro, Paradox, dBASE или Btrieve или ввести строку подключения к базе данных SQL. Примеры можно найти в справочной системе по ключевому слову "Создание таблицы, команда меню".
Нажмите кнопку "OK".
Добавьте поля, которые следует включить в новую таблицу, и определите условия отбора.
Ниже описано, как проверить, что запрос на создание таблицы разработан правильно.
► Чтобы проверить запрос на создание таблицы:
Пользователь может просмотреть результат выполнения запроса на создание таблицы перед его фактическим выполнением и, если требуется, внести в него изменения.
1. Выберите Таблица в меню Главная (или нажмите кнопку "Режим таблицы" на панели инструментов).
На экране появятся поля и записи новой таблицы.
2. Для внесения изменений в запрос вернитесь в режим конструктора.
► Чтобы выполнить запрос на создание таблицы:
1. Вернитесь в режим конструктора запросов
и выберите Выполнить
на панели инструментов.
На экране появится сообщение о числе измененных записей.
2. Для завершения выполнения запроса нажмите кнопку "ОК".
После выполнения запроса на создание таблицы у вас может возникнуть желание открыть новую таблицу в режиме конструктора и определить для нее ключ и другие свойства. Поля в новой таблице будут иметь те же типы данных и значения свойства "Размер поля", что и поля в исходных таблицах. Однако в новой таблице не будет определен ключ; кроме того, не будет унаследовано ни одно из остальных свойств таблиц и полей.
3. Для того чтобы проверить, что запрос разработан правильно, нажмите кнопку "Режим таблицы" на панели инструментов. В таблице должны показаны заказы с номерами, меньшими 10050.
Примечание Для того чтобы создать новую таблицу с помощью перекрестного запроса, запроса к серверу или запроса-объединения, сначала создайте и сохраните один из этих запросов, а затем создайте новый запрос на создание таблицы, основанный на сохраненном запросе, перенесите нужные поля в бланк QBE и выполните его.
Пример: Создание таблицы для хранения старых заказов
Предположим, что вы обнаружили, что довольно редко просматриваете прошлогодние заказы, и решили переместить их в отдельную таблицу, а затем удалить их из таблицы "Заказы".
Создайте новый запрос и включите в него таблицу "Заказы" из базы данных "Борей".
Нажмите кнопку "Создание таблицы" на панели инструментов.
В окно диалога Свойства запроса введите Старые заказы в поле "Таблица", выберите "В текущей базе данных", а затем нажмите кнопку "ОК".
Перенесите все поля в бланк QBE, а в поле "Заказ" введите условие отбора, показанное на следующем рисунке.
Вернитесь в режим конструктора запросов и нажмите кнопку "Выполнить" на панели инструментов.
На экране появится сообщение о том, сколько записей скопировано в новую таблицу.
Для завершения выполнения запроса нажмите кнопку "OK". Microsoft Access создаст новую таблицу.
Перейдите в окно базы данных, чтобы увидеть новую таблицу среди остальных таблиц.
