Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование БД с использованием СУБД Microso...doc
Скачиваний:
8
Добавлен:
04.09.2019
Размер:
3.89 Mб
Скачать

Лабораторная работа № 8 Создание запросов на изменение данных

До этого момента мы рассматривали запросы на выборку данных по каким-то параметрам. Рассмотрим другие виды запросов:

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

1. Пусть закупочные цены на все автомобили, поставленные позднее 15.09.2006, возрастут на 1%:

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Поставки», в столбец «Доступные поля» перенесите все поля.

■ «Далее». Задайте имя запроса: «Изменение закупочных цен». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» поля «Дата поставки» введите >=15.09.2006

■ В верхней части запроса выберите тип запроса – Обновление

■ В строке «Обновление» у поля «Закупочная цена » щелкните правой клавишей мыши, выберите пункт «Построить…». Откроется построитель выражений. (Все выражения можно писать и без построителя, но с ним удобнее)

■ Во втором столбце дважды щелкните по названию «Закупочная цена», это название появится в верхнем части окна построителя. Допишите, что должно произойти с этой ценой , ( т.е. *1,01 - число увеличится на 1%, верно?):

Рис. 57 Построитель выражений

■ ОК

■ Запустите запрос.

■ Возникнет окно с вопросом - действительно ли мы хотим произвести изменения?

■ Нажмите «Да». Сохраните и закройте запрос.

■ Откройте таблицу «Поставки», посмотрите, изменились ли стоимости авто? (4 последних суммы должны измениться)

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

2. Создадим запрос, удаляющий все сведения из базы об одном из покупателей:

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Покупатели», в столбец «Доступные поля» перенесите все поля.

■ «Далее». Задайте имя запроса: «Удаление покупателя». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» поля «ФИО покупателя» напишите: [Введите ФИО покупателя]

■ В верхней части запроса выберите тип запроса – Удаление

■ Запустите запрос, попробуйте удалить покупателя Иванов А.А. Возникнет вопрос о подтверждении удаления:

■ Нажмите «Да»

■ Откройте список покупателей, Иванов должен из него исчезнуть. Откройте список всех продаж, записи об Иванове так же не должно быть.

Создание вычисляемых полей в запросе

3. Для таблицы «Поставки» создадим запрос, создающий столбец итоговых сумм по каждой поставке:

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Поставки», в столбец «Доступные поля» перенесите все поля.

■ Далее. Далее. Задайте имя: Расчеты с поставщиками. Изменить макет запроса. Готово.

■ В первой строке седьмого столбца (он пустой) щелкаем правой клавишей мыши, заходим в построитель выражений.

Записываем :

Рис. 58 Создание итогового столбца

(все выражения можно набивать вручную, но гораздо удобнее пользоваться построителем выражений) Новый столбец будет называться «Итого», далее ставят двоеточие, потом идет расчетная формула для значений этого столбца.

■ ОК, запустите запрос.

■ Обратите внимание на последний итоговый столбец. В нем вместо евро стали писаться рубли (по умолчанию для денежного поля). Зайдите в режим конструктора запроса, щелкните п.к.м. в первой строке пятого столбца, выберите пункт «Свойства». Формат поля задайте евро.

■ Сохраните и закройте запрос.

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

[Имя таблицы]![Имя поля]

В нашем случае выражения Итого:[Количество]*[Закупочная цена]

и

Итого:[Поставки]![Количество]*[Поставки]![Закупочная цена]

эквивалентны.