Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы

Запрос 6:Обновить поле Средняя цена в таблице Товар, рассчитав его значение как среднюю цену поставки каждого товара (см. запрос 2).

Данный запрос выполняется в 2 этапа.

Сначала из таблицы Поставка нужно выбрать поля КодТ и Цена и определить среднюю цену каждого товара. Результат запроса сохраните в таблице temp (запрос на создание таблицы).

Далее создается запрос на обновление. Добавляете в запрос 2 таблицы: Товар и temp. В меню ЗАПРОС выбираете команду ОБНОВЛЕНИЕ. Если связь между таблицами не появилась автоматически, то установите её по полям КодТ. В бланк запроса добавляете поле Сред_Цена из таблицы Товар. В строке Обновление укажите откуда следует брать данные для обновления – из таблица temp поле [Avg-Цена](рис)

Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru

Запустите запрос на выполнение, подтвердите обновление записей и посмотрите результат в таблице Товар.

ЗАПРОСЫ НА УДАЛЕНИЕ

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

С помощью запроса на удаление можно удалять только всю запись, а не отдельные поля внутри нее.

Запрос: удалить из таблицыКрупные поставщики Лидеры продажзаписи со стоимостью поставки суммой заказа < 30105 000

Создайте новый запрос в режиме конструктора и добавьте таблицу Крупные поставщикиЛидеры продаж.В меню ЗАПРОС выберите Удаление. В бланке запроса укажите поле Стоимость Сумма заказаи Условие <3105 000. Запустите запрос на выполнение. Подтвердите удаление одной двух записейи и посмотрите результат выполнения запроса в таблице Крупные поставщикиЛидеры продаж.

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

Рекомендуется всегда делать резервные копии данных. Таким образом, если были удалены не те записи, их можно восстановить из резервных копий.

Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru

Если бланк запроса оставить пустым, то удаляться все записи из таблицы

ЗАПРОСЫ НА ОБНОВЛЕНИЕ

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

Запрос: Заполнить поле Розн_цена таблицыМодели, рассчитав его значения по следующей формуле:

Розн_цена=Зав_цена*Торг наценка

Для реализации этого запроса загружаемКонструктор запросов, затем в меню ЗАПРОС вызываем команду ОБНОВЛЕНИЕ и в появившуюся строку ОБНОВИТЬ Конструктора запросов вводим выражение:

[Зав_цена]*(1+[Торг_наценка]/100);

Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru

После запуска запроса на выполнение появится диалоговое окно (см. рис, в котором нужно нажать кнопку «Да».

Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru

В результате выполнения этого запроса поле Розн_ цена будет рассчитано и его значения занесены в таблицуМодели.Текст этого запроса на ANSI SQL приведен ниже:

UPDATE МоделиSET [Розн_цена] = [Зав_цена]*(1+[Торг_наценка]/100);

ПЕРЕКРЕСТНЫЙ ЗАПРОС

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

Запрос: Определить количество товаров каждого вида, привезенных каждым из поставщиков, и общее количество каждого товара.

Узнать сколько машин каждой модели продал каждый продавец и сколько всего машин каждой модели было продано.

Создайте новый запрос. Добавьте таблицы КлиентыТовар, Модели Поставка и ПродавцыПоставщик. В меню ЗАПРОС выберите тип запроса ПЕРЕКРЕСТНЫЙ. Бланк запроса заполните в соответствии с рисунком.

Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru

Результат запроса: Григорьев Алексеев привез продал 3 машины Citroen, Зайцев – 2 Corolla и 1 Renault, Козлов – 1Ferrari, 2 Yaguar и 1 Согkombi

50 мониторов, Васильев – 100 модемов, 200 мониторов и 12 сканеров и т.д.

Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru Примечание. Данные во вновь созданной таблице не наследуют свойства полей или настройки ключевых полей исходной таблицы - student2.ru

САМОСТОЯТЕЛЬНО:

Составить следующие запросы.:

1. Обновить поле Комисс ВНаличии таблицыПроТовардавцы,,рассчитав его, как общее количество каждого товара по таблице Поставка увеличив его на 12%.,

2. Выбрать модели мощностью от 75 до 120 л.с, заводская цена которых до $80000. Использовать таблицуМодели. В результат запроса вывести поля: Модель, Мощность, Зав цена. Отсортировать по полюМодель.

23. Выбрать сведения о клиентахпоставщиках, фамилии которых начинаются на букву «АБ» или «СТ» и проживающих не в ВитебскеМинске. Использовать таблицуКлиентыПоставщик. В результат запроса вывести поля; ИмяПФИО, АдресГород.

34. Выбрать сведения о клиентах поставщиках, привозивших сканеры в октябреиз Минска, обслуженных продавцом Козловым, Использовать таблицыКлиенты и Продавцы

Выводимым полям присвоить имена: Адрес, ФИО клиента. ФИО прод. Отсортировать по полю Адрес..Выполнить сортировку в хронологическом порядкею

4. Получить список товаров, поставок которых было 3 и более.

5. Выбрать сведения о клиентах продавца Зайцева, сделавших покупку на сумму от $50000 до $100000. Использовать таблицыМодели, Клиенты и Продавцы. В результат запроса вывести поля: Модель, №заказа, Сумма заказа, ФИО_ клиента, ФИО_прод. Отсортировать по полю Модель.

6. Определить клиентов, обслуженных продавцами, проживающими с ними в одном городе. Использовать таблицыКлиенты и ПродавцыВыводимым полям присвоить имена: Город_прож, ФИО клиента. ФИО прод. Отсортировать по полю Город_ прож.

57. Определить среднюю сумму заказастоимость поставки по каждому поставщику по каждому продавцу. Использовать таблицуПродавцы. Выводимым полям присвоить имена: ФИО прод. Ср заказ. Отсортировать по полю ФИО прод.

6. Определить количество поставок и их суммарную стоимость за каждый месяц.

7. Получить список товаров, у которых цена выше средней

8. Определить максимальную, минимальную и среднюю сумму заказа по каждому городу. Использовать таблицуКлиенты. Выводимым полям присвоить имена: Город, Макс_зак, Мин_зак, Ср_зак. Отсортировать по полю Город.

9. Выбрать города, по которым средняя сумма заказа не ниже S70000 Использовать таблицуКлиенты. Выводимым полям присвоить имена: Город. Ср зак. Отсортировать по полю Город.

10.Выбрать сведения о клиентах, совершивших покупку на сумму выше средней по всему списку. Использовать таблицыКлиенты, Модели и Продавцы. В результат запроса вывести поля:

ФИО клиента. Адрес, Модель, Сумма заказа, ФИО прод. Отсортировать по полю ФИО клиента.

Наши рекомендации