Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодРек_курс_БД.doc
Скачиваний:
21
Добавлен:
25.11.2018
Размер:
314.37 Кб
Скачать

4.1.2. Пересчет количества товара с учетом продаж

Для пересчета количества товара с учетом продаж подготовим несколько запросов для обновления таблицы «Количество».

Для подсчета итоговых показателей о проданном товаре подготовим итоговый запрос «ГрПродано» на основе таблицы «Продано». В бланк Конструктора запроса на выборку поместим все поля таблицы «Продано»: Дата; Код_товара; Кол_во; Сумма. Выберем команду «Групповые операции» из меню Вид. В строке <Групповая операция> для поля Кол_во и поля Сумма выберем функцию Sum. Для полей Дата и Кол_во оставим операцию «Группировка».

Запрос «Продажа1» на создание таблицы «ГруппаПродажа», в которую будут помещаться итоговые данные, полученные в результате выполнения запроса «ГрПродано». Запрос создается на основе итогового запроса на выборку «ГрПродано». В бланк Конструктора запроса помещаются все поля результирующей таблицы, и выбирается тип запроса «Создание таблицы»

Запрос на обновление «Продажа» на основе таблиц «Продано» и «Товары». В бланк Конструктора запроса помещаем поля Дата и Сумма. В строку <Обновление> для поля Дата вводим стандартную функцию Date(), а для поля Сумма формулу:

[Товары]![Цена_единицы]*[Продано]! [Кол_во].

Запрос «Продажа» предназначен для автоматического заполнения полей таблицы «Продано». Поле Дата заполняется текущей датой, а поле Сумма - вычисляемыми значениями стоимости всего количества проданного товара по их кодам.

Запрос «Сумма» на обновление таблицы «Количество» на основе таблиц «Количество» и «ГруппаПродажа». В бланке Конструктора запроса в строку <Обновление> для поля Кол_во таблицы «Количество» введем формулу:

[Количество]![Кол_во]-[ГруппаПродажа]![Sum-Кол_во].

В результате выполнения запроса «Сумма» будут обновлены данные поля Кол_во в таблице «Количество» с учетом продаж.

Для исключения повторного вычета количества проданного товара при повторном открытии формы «Отделы», создадим еще два запроса: запрос на добавление «Объединить» и запрос на удаление «Очистить».

При выполнении запроса «Объединить» данные о продажах из таблицы «Продано» будут добавляться в таблицу «Продано1». Запрос создадим на основе таблицы «Продано». В бланк Конструктора запроса поместим все поля таблицы «Продано». В качестве имени таблицы, куда должны будут добавляться записи из таблицы «Продано» укажем таблицу «Продано1».

Запрос на удаление «Очистить» предназначен для удаления записей из таблицы «Продано». В бланк Конструктора запроса помещаем все поля таблицы «Продано», выбираем тип запроса «Удаление». В строке <Удаление> оставляем «условие», а в строке <Условие отбора> вводим условие <>0.

4.1. 3. Получение сведений о товарах супермаркета

Для получения сведений из нескольких таблиц используются запросы. Для получения сведений об отделах супермаркета и имеющихся в них товарах на основе таблицы «Отделы», «Товары» и «Количество» подготовим два запроса на выборку: «Отделы_Товары».

Запрос «Отделы_Товары» создается на основе таблиц «Отделы», «Товары» и «Количество». В бланк Конструктора запроса из таблицы «Отделы» поместим поля: Код_отдела и Наименование_отдела; из таблицы «Товары»: Код_товара, Наименование_товара, Единицы_измерения и Цена_единицы, а из таблицы «Количество» поле Кол_во. В восьмой свободный столбец в строке <Поле> введем выражение:

Сумма:[Товары]![Цена_единицы]*[Количество]![Кол_во].