Системы управления базами данных в экономике: Методические указания к изучению раздела учебной дисциплины "Информатика и компьютерная техника", страница 7

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

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

2. Создать форму для таблицы  ВводПокупок  и ввести несколько записей. Закрыть форму.

3. Создать простой запрос на выборку из таблицы ВводПокупок.

Для создания запроса в окне базы данных перейдите на вкладку «Запросы», нажмите кнопку «Создать»   , выберите «Простой запрос» и щелкните кнопку «ОК».Откроется окно Создание Простых запросов (Рис.1), в котором выберите таблицу ВводПокупок, к которой адресован запрос,  все ее поля припрмощи кнопки  перенесите в раздел выбранные поля и нажмите «Далее».

Дайте имя запросу – ПокупкаВводДобавление и нажмите кнопку «Готово»

4. Открыть запрос ПокупкаВводДобавление  в режиме Конструктора. Выполнить пункт меню Запрос ► Добавление. В открывшемся окне Добавление (Рис.2) указать имя таблицы, в которую необходимо добавить данные  Покупка. Откроется окно запроса на добавление (Рис.3), в нижнй части которого появится строка Добавление с указанием таблицы и полей. Закрыть запрос. При закрытии запроса подтвердить сохранение.


Выполнить запрос, проанализировать результат в таблице Покупка. В таблице Покупки должны появиться записи, которые были введены в форме ВводПокупок.

5. Создать простой запрос на выборку из таблицы ВводПокупок с итоговым количеством товара по каждому коду товара. В запрос включить два поля КодТовар и Кол_во.  Дать имя запросу ИтогВводаПокупок. Закрыть запрос. При закрытии запроса подтвердить сохранение.

6. Открыть запрос ИтогВводаПокупок в режиме Конструктора. Выполнить пункт меню Запрос ► Создание таблицы. В открывшемся окне указать имя таблицы  ИтогПокупка.  Закрыть запрос. При закрытии запроса подтвердить сохранение.

7. Выполнить запрос ИтогВводаПокупок. Перейти на закладку Таблицы и проверить результат с ручным расчетом. Должна появится новая таблица ИтогПокупка, в которой по каждому коду товара просуммировано количество.  

8. Создать простой запрос на выборку из таблицы ИтогПокупка  Дать имя запросу НаличиеТоварПокупка.

9. Открыть запрос НаличиеТоварПокупка в режиме Конструктора. Добавить таблицу Товар, перенести из нее поле Количество в нижнюю часть бланка запроса.

Выполнить пункт меню Запрос ► Обновление. Откроется окно запроса на обновление (Рис.4), в нижнй части которого появится строка Обновление.   Для поля Количество таблицы Товар в строке Обновление построить выражение: 

[Sum-К_ВО]+Товар!Количество.

Для построения выражения установите курсор в поле Количество таблицы Товар и при помощи контекстного меню выберите пункт Построить. Откроется окно (Рис.5) Построитель выражений. Построить выражение и нажать кнопку OK. Вы вернетесь в окно запроса на обновление.

10. Закрыть запрос. При закрытии запроса подтвердить сохранение.

11. Выполнить запрос, проанализировать результат в таблице Товар, сравнить с ручным расчетом.

12. Для того, чтобы можно было повторить новый ввод при покупке товара, необходимо удалить информацию из доплнитедьных таблиц БД  ИтогПокупка и ВводПокупок. 

12.1. Создать запрос в режиме Конструктора, откроется пустой бланк окна запроса,  добавить таблицу ВводПокупок. Перенести все поля в нижнюю часть бланка. Выполнить пункт меню Запрос ► Удаление. Откроется окно запроса на удаление, в нижнй части которого появится строка Удаление с указанием таблицы и полей. Закрыть запрос... При закрытии запроса подтвердить сохранение и дать имя  УдалениеВводПокупок.