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


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

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

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

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

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

3) 


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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