- •Кочкина м.А., Жуков в.О. Проектирование баз данных с использованием субд Access
- •Содержание
- •Введение
- •Лабораторная работа №1 Разработка инфологической модели и создание структуры реляционной базы данных
- •Консультанты Поставщики
- •Продажи Автомобили
- •Поставки Покупатели
- •Лабораторная работа № 2 Создание таблиц базы данных
- •Лабораторная работа № 3 Установка связей между таблицами
- •Лабораторная работа № 4 Создание форм для таблиц базы данных
- •Лабораторная работа № 5 Создание кнопочных форм базы
- •Лабораторная работа № 6 Создание сложных форм
- •Сводные таблицы и сводные диаграммы
- •Лабораторная работа № 7 Создание простых запросов на выборку
- •Лабораторная работа № 8 Создание запросов на изменение данных
- •Лабораторная работа № 9 Перекрестные запросы и групповые операции над данными
- •Лабораторная работа № 10 Запрос на создание новой таблицы
- •Лабораторная работа № 11 Создание отчетов
- •Лабораторная работа № 12 Импорт и экспорт данных
- •Лабораторная работа № 13 Макросы и модули
- •Библиотека
- •Анонсы фильмов на неделю
- •Индивидуальные задания
- •Заключение
- •Список литературы
Лабораторная работа № 8 Создание запросов на изменение данных
До этого момента мы рассматривали запросы на выборку данных по каким-то параметрам. Рассмотрим другие виды запросов:
Запрос на обновление данных
1. Пусть закупочные цены на все автомобили, поставленные позднее 15.09.2006, возрастут на 1%:
■ «Запросы», «Создать», «Простой запрос», «ОК».
■ Из списка таблиц и запросов выберите таблицу «Поставки», в столбец «Доступные поля» перенесите все поля.
■ «Далее». Задайте имя запроса: «Изменение закупочных цен». Выберите пункт «Изменить макет запроса». «Готово».
■ В строке «Условие отбора» поля «Дата поставки» введите >=15.09.2006
■ Зайдите в пункт меню «Запрос»/ «Обновление».
■ В строке «Обновление» у поля «Закупочная цена » щелкните правой клавишей мыши, выберите пункт «Построить…». Откроется построитель выражений. (Все выражения можно писать и без построителя, но с ним удобнее)
■ Во втором столбце дважды щелкните по названию «Закупочная цена», это название появится в верхнем части окна построителя. Допишите, что должно произойти с этой ценой , ( т.е. *1,01 -число увеличится на 1%, верно?) :
Рис. 57 Построитель выражений
■ ОК
■ Запустите запрос.
■ Возникнет окно с вопросом- действительно ли мы хотим произвести изменения?
■ Нажмите «Да». Сохраните и закройте запрос.
■ Откройте таблицу «Поставки», посмотрите, изменились ли стоимости авто? (4 последних суммы должны измениться)
Запрос на удаление записей
2. Создадим запрос, удаляющий все сведения из базы об одном из покупателей:
■ «Запросы», «Создать», «Простой запрос», «ОК».
■ Из списка таблиц и запросов выберите таблицу «Покупатели», в столбец «Доступные поля» перенесите все поля.
■ «Далее». Задайте имя запроса: «Удаление покупателя». Выберите пункт «Изменить макет запроса». «Готово».
■ В строке «Условие отбора» поля «ФИО покупателя» напишите: [Введите ФИО покупателя]
■ Зайдите в пункт меню «Запрос»/ «Удаление»
■ Запустите запрос, попробуйте удалить покупателя Иванов А.А. Возникнет вопрос о подтверждении удаления:
■ Нажмите «Да»
■ Откройте список покупателей, Иванов должен из него исчезнуть. Откройте список всех продаж, записи об Иванове так же не должно быть.
Создание вычисляемых полей в запросе
3. Для таблицы «Поставки» создадим запрос, создающий столбец итоговых сумм по каждой поставке:
■ «Запросы», «Создать», «Простой запрос», «ОК».
■ Из списка таблиц и запросов выберите таблицу «Поставки», в столбец «Доступные поля» перенесите все поля.
■ Далее. Далее. Задайте имя: Расчеты с поставщиками. Изменить макет запроса. Готово.
■ В первой строке седьмого столбца (он пустой) щелкаем правой клавишей мыши, заходим в построитель выражений.
Записываем :
Рис. 58 Создание итогового столбца
(все выражения можно набивать вручную, но гораздо удобнее пользоваться построителем выражений) Новый столбец будет называться «Итого», далее ставят двоеточие, потом идет расчетная формула для значений этого столбца.
■ ОК, запустите запрос.
■ Обратите внимание на последний итоговый столбец. В нем вместо евро стали писаться рубли (по умолчанию для денежного поля). Зайдите в режим конструктора запроса, щелкните п.к.м. в первой строке пятого столбца, выберите пункт «Свойства». Формат поля задайте евро.
■ Сохраните и закройте запрос.
Замечание. Если запрос использует данные более чем из одной таблицы, и особенно, если есть повторяющиеся названия полей, - в выражениях перед именем поля указывают еще и имя содержащей его таблицы по шаблону:
[Имя таблицы]![Имя поля]
В нашем случае выражения Итого:[Количество]*[Закупочная цена]
и
Итого:[Поставки]![Количество]*[Поставки]![Закупочная цена]
эквивалентны.