Скачиваний:
38
Добавлен:
17.02.2014
Размер:
34.58 Кб
Скачать

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

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

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

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

• Запросы удаления

• Запросы добавления

• Запросы замены

Рассмотрим три последних.

Запросы удаления

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

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

  1. Прежде всего вам необходимо создать резервную копию таблицы Заказы. Для этого, находясь на вкладке “Таблицы”, выделите требуемую таблицу.

  2. Нажмите правую кнопку мыши и выберите из контекстного меню команду Копировать.

  1. Вызовите контекстное меню вкладки “Таблицы” и выберите из него команду Вставить. После чего вам будет предложено указать наиме­нование новой таблицы и параметры вставки. Задайте имя (например, Временная) и нажмите ОК.

4. Перейдите на вкладку “Запросы” и откройте окно конструктора за­просов.

5. В окне диалога “Добавление таблицы” дважды нажмите мышью на наименовании таблице Заказы для ее добавления в окно запроса. Нажмите кнопку Закрыть.

6. Выберите команду Запрос Удаление. В качестве альтернативного способа вы можете нажать кнопку Тип запроса и выбрать из раскрывающегося списка значение Удаление.

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

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

9. В строке Условие отбора поля Дата продажи введите условие: <1.04.99.

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

11. Переключитесь в режим конструктора и нажмите кнопку Запуск.

12. MS Access сообщит вам сколько строк будет удалено. Нажмите кнопку Да для удалений записей или кнопку Нет для отказа.

Запросы добавления

Данный тип запросов используется для добавления записей из одной таблицы MS Access в другую. Результирующая таблица может быть расположена в той же самой или другой базе данных. Аналогично запросу удаления запрос этого типа позволяет добавлять в таблицу записи, удовлетворяющие определенным условиям.

В предыдущем разделе мы создали таблицу Временная, являющуюся копией таблицы Заказы. Теперь нам предстоит добавить данные из этой таблицы в таблицу Архив, содержащую информацию о сделках совершен­ных за прошедшие годы. (В нашем случае предварительно создадим таблицу Архив. Для этого можно выбрать режим Импорт таблиц. В окне Импорт выбирается та база данных, откуда будет импортироваться таблица, а затем название самой таблицы (Заказы). Нажав клавишу Параметры, в колонке Импорт таблиц выберите пункт Только структура. Таким образом, вы скопируете структуру таблицы Заказы).

  1. Откройте окно конструктора запросов.

  2. Выберите таблицу Временная.

  3. Выполните команду Запрос/Добавление. В качестве альтернативного способа вы можете нажать кнопку Тип запроса и выбрать из раскрывающегося списка значение Добавление.

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

  5. В поле ввода “Имя таблицы” выберите таблицу, в которую вы хотите добавить записи (таблицу Архив). Если архивная таблицы находится в текущей базе данных, вы можете нажать кнопку раскрытия списка и выбрать требуемое наименование из списка таблиц текущей базы данных. Нажмите кнопку ОК.

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

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

  2. В строке Условие отбора поля Дата продажи введите условие: <1.04.99.

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

  4. Переключитесь в режим конструктора и нажмите кнопку Запуск. Вы изменили таблицу, не открывая ее, и произошло это автоматически.

Запросы обновления

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

Воспользуемся запросом обновления для изменения данных в таблице Заказы. Предположим, что поставщик увеличил на 10% цены на товары 1 и 3. Вам требуется скорректировать цену указанных изделий.

  1. Откройте окно конструкторов запросов.

  2. Выберите таблицу Заказы.

  3. Выполните команду меню Запрос/Обновление.

  4. Поместите в бланк запроса поля Цена, значения которого необходимо изменить, а также Код товара, предназначенного для задания условия.

  5. В строке Обновление первого столбца постройте: [Компоненты]![Цена]*1,1. Таким образом, вы даете указание Access повысить цену на 10%.

  6. Введите в строке Условие отбора второго столбца: 1Or 3 .

  7. Перейдите в режим таблиц для просмотра измененных цен.

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

Соседние файлы в папке лекции по базам данных в Access