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

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

Нередко возникает необходимость изменить значения какого – либо поля в группе записей таблицы, отобранных на основании определенного критерия или во всех записях таблицы (например, в связи с инфляцией повысить заводскую цену каждой модели на определенный процент или рассчитать значение какого-то поля по уже внесенным в таблицу данным). Для того, чтобы не вводить заново новые значения во все записи, используют ЗАПРОС НА ОБНОВЛЕНИЕ. Команда ОБНОВЛЕНИЕ вызывается из меню ЗАПРОС во время проектирования (конструирования) запроса. В этом случае в проект запроса добавляется строка ОБНОВИТЬ, которая предназначена для указания новых значений полей таблицы. В качестве таковых могут выступать и вычисляемые выражения. После нажатия кнопки ЗАПУСК Access укажет в специальном диалоговом окне, сколько записей изменится в таблице, и потребует подтвердить изменения. Рассмотрим это на примере:

З апрос 4. Заполнить поле Розн_цена таблицы Модели, рассчитав его значения по следующей формуле: [Зав_цена]*(1+[Торг_наценка]/100)

Для реализации этого запроса загружаем Конструктор запросов, затем в меню Запрос вызываем команду ОБНОВЛЕНИЕ и в появившуюся строку ОБНОВИТЬ Конструктора запросов вводим выражение: [Зав_цена]*(1+[Торг_наценка]/100)

(можно воспользоваться инструментом для ввода этой формулы, изучите самостоятельно).

После запуска запроса на выполнение появиться диалоговое окно:

Нужно нажать кнопку “ДА”.

В результате выполнения запроса поле Розн_цена будет рассчитано и его значения занесены в таблицу Модели.

Для проверки, рассчиталась ли розничная цена, необходимо выйти из объекта Запросы и войти в режим Таблицы, выбрать таблицу Модели, и убедиться что поле Розн_цена заполнено (изначально оно было пустым).

Задания для самостоятельной работы

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

  1. Обновить поле Комиссионные таблицы Продавцы, увеличив его на 12 % (аналогично запросу 4 введите необходимую формулу). Для проверки, пересчитались ли комиссионные продавцам, выйдите из объекта Запросы и войдите в режим Таблицы, выберите таблицу Продавцы, и убедитесь, что значения поля Комиссионные изменились (например, для Зайцева значение 0,1 после увеличения на 12% станет равным 0,112).

  2. Выбрать сведения о клиентах, фамилии которых начинаются на букву «Б» и проживающих в Витебске. В результат запроса включить поля: ФИО, Адрес.

  3. Определить максимальную и минимальную сумму заказа, выполненную продавцом Козловым. В результат запроса вывести поля: №_продавца, ФИО, Макс_заказ, Мин_заказ. Использовать таблицы Клиенты и Продавцы.

  4. Определить все нестоличные заказы, выполненные продавцом Зайцевым.

Примеры использования символов задания шаблонов

Использование символов

Образец

Какие варианты подходят

Вопросительный знак (?); в качестве шаблона для любого символа.

За?ор

Забор Затор

Звездочка (*); в качестве шаблона для любой группы символов.

Д*нь

День

Дребедень Добрый день Длинная тень

Звездочка (*); в качестве шаблона для любой группы начальных символов.

Работай Последний

128-й

Знак фунта (#); в качестве шаблона для любой цифры.

#-й

5-й 8-й

Восклицательный знак (!) после первой скобки; для поиска символа, который не входит в указанный набор символов.

Иванов[!аы]

Иванову [но не Иванова или Ивановы]

Примеры условных выражений

Условные выражения

Вывод записей, которые подходят

Витебск

имеют значение Витебск

Not Витебск

не имеют значение Витебск

in (Витебск, Минск, Брест)

имеют значение Витебск, Минск или Брест

начинаются с букв А-Л

>=М

начинаются с букв М-Я

100

имеют числовое значение 100

<=20

имеют числовое значение не больше 20

Date()

имеют значение текущей даты

>01.01.08

имеют значение даты позднее 01.01.08

Between 01.04.11 AND 15.08.11

имеют значение даты от 1 апреля 2011 года

до 15 августа 2011 года

*.02.*

имеют значение месяца Февраль

Null

содержат в поле пустое значение

Is Not Null

имеют не пустое значение в поле

Р* или Like "Р*"

начинаются с буквы Р

ПРИЛОЖЕНИЕ 2

Модели

Код_модели

Модель

Мощность

Цвет

Зав_цена

Торг. наценка

Розн_цена

12579

Corolla

75

Торнадо

39200

25

12653

Ferrari

120

Черный

75000

10

12410

Yaguar

140

Коррида

90000

15

12505

Cor-kombi

90

Черный

55200

20

12902

Citroen

75

Белый

45100

20

12810

Renault

60

Торнадо

32300

20

Клиенты

Код_модели

№_заказа

Сумма_заказа

ФИО

Адрес

Дата_заказа

№_продавца

12579

1001

70000

Иванов

Бобруйск

12.01.08

201

12579

1003

65000

Тормозов

Минск

15.01.08

201

12653

1004

100000

Умный

Минск

14.04.08

202

12410

1005

112000

Борисов

Витебск

14.04.08

202

12902

1006

60000

Терентьев

Витебск

14.04.08

203

12810

1007

40000

Цветков

Брест

10.05.08

201

12902

1008

55000

Быстров

Брест

25.06.08

203

12902

1009

52000

Чудаков

Брест

20.07.08

203

12410

1010

106000

Сергеева

Минск

21.08.08

202

12505

1011

64000

Прохоров

Гродно

21.08.08

202

Продавцы

№_продавца

ФИО

Комиссионные

Город

201

Зайцев

0,1

Минск

202

Козлов

0,15

Витебск

203

Григорьев

0,12

Брест

1 В данном курсе не изучаются

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]