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


На втором этапе надо создать запрос на выборку из таблицы Вспомогательная для вычисления остатка на складе как результат вычитания заказанного количества из исходного. Указанный запрос в режиме конструктора и в режиме SQL приведен на рисунке 66.

Рисунок 66 – Запрос на выборку из таблицы Вспомогательная в режиме конструктора и в режиме SQL

Поместим на страницу TabSheet2 командную кнопку Button5, для свойства Caption которой установим значение ЗаказаноОстаток. Процедура Button5Click, реализующая искомый запрос, будет состоять из трех частей:

1)  операторы, реализующие активный запрос создания таблицы Вспомогательная;

2)  операторы, реализующие запрос на выборку;

3) 


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

Текст искомой процедуры приведен на рис. 67.

Рисунок 67 – Процедура, реализующая запрос на выборку, основанный на другом запросе

Запустим проект на выполнение и проверим корректность работы созданной процедуры. Ее результат будет отображен на странице TabSheet2 (см. рис. 68).


Рисунок 68 – Пример выполнения процедуры, реализующей запрос на выборку, основанный на другом запросе

Индивидуальные задания

Вариант 1. Прием материальных ценностей

Запросы на выборку с параметром:

·  для заданного наименования инвентарной группы выдать список находящихся на учете инвентарных объектов с указанием их названия, стоимости и материально-ответственного лица;

·  для заданного периода выдать список принятых на учет инвентарных объектов с указанием их названия, стоимости, материально-ответственного лица и номера акта;

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

·  для заданного названия инвентарного объекта выдать список материально-ответственных лиц, у которых есть данный объект, с указанием фамилии, подразделения, номера и даты акта приема.

Запросы с группировкой:

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

·  для каждого подразделения указать общее количество находящихся на учете инвентарных объектов.

Перекрестный запрос:

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

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

·  изменить заданную фамилию материально-ответственного лица;

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

Запросы на удаление:

·  удалить из БД все сведения об инвентарном объекте с заданным инвентарным номером;

·  удалить из БД все сведения об актах, относящихся к заданной дате.

Вариант 2. Издержки обращения в торговле

Запросы на выборку с параметром:

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

·  для заданного периода выдать список оформленных ведомостей с указанием их номера, даты и названия подразделения;

·  для заданного подразделения выдать список всех строк составленных для него ведомостей, с указанием номера и даты ведомости, наименования статьи издержек, суммы и примечания;

·  из всех ведомостей выделить строки, в которых расходы превышают заданную величину.

Запросы с группировкой:

·  для каждой статьи издержек указать общую стоимость расходов по всем подразделениям за весь период учета;