В среде Delphi разработайте проект, автоматизирующий процесс списания экземпляров книг.
Для работы с таблицами БД используйте компоненты наборы данных класса TADOTable.
Установите связи между НД: Avtor и Book по коду автора, между Book и B_Fond по коду книги.
Данные всех наборов данных отобразите в компонентах DBGrid.
Для выполнения списания экземпляра книги введите его инвентарный номер (Edit). Если имеется информация по этому экземпляру в НД B_Fond, выдать информацию по экземпляру, книге и автору (в компонентах DBEdit). Уточнить у пользователя, на самом ли деле списывается данный экземпляр. При подтверждении списания добавить запись в таблицу Spis_B, дату списания – текущая дата, и удалите запись из таблицы B_Fond.
Рассчитайте количество списанных экземпляров выбранной книги и выдайте его название книги и количество списанных экземпляров (Label). Расчет выполните в процедуре.
Для добавления, удаления, сохранения записей, расчета количества списанных экземпляров и выхода из программы используйте пункты меню – компонент MainMenu и кнопки инструментальной панели ToolBar. На пункты меню и кнопки установите изображения, используя компонент список изображений ImageList (Win32).
Для кнопок на инструментальной панели создайте всплывающие подсказки из 2-х частей. Установите статус-строку для вывода развернутых подсказок.
Выполните это же задание с использованием функции вместо процедуры
Вариант 4 ****
Создайте в СУБД MS Access БД Библиотека с таблицами^
Структура таблицы Tovar:
· Kod – код, счетчик, ключевое поле
· Kod_Tov – код товара, числовое, целое, индексированное поле, совпадения не допускаются
· Naim – наименование товара, текстовое поле
Таблицы Prihod1, Prihod2, Prihod3,… содержат информацию о поступлении товаров за месяц, указанный в имени таблицы. Структура таблиц:
- Kod – код, счетчик, ключевое поле
- Kod_Tov – код товара, числовое, целое, индексированное поле, совпадения допускаются
· Date_P – дата поступления товара, тип Дата/Время
· Cena – цена, вещественное одинарной точности
· Kol – количество поступления, вещественное одинарной точности
Сохраните в формате MS Access 2003.
В среде Delphi разработайте проект для формирования отчетов по поступлению товаров в различные месяцы.
Для работы с таблицами БД используйте 2 компонента набора данных класса TADOTable 1 для таблицы Tovar и 1 – для таблицы по приходу за месяц, номер которого будет вводиться с клавиатуры. Для второго НД свойства TableName и Active – не устанавливайте.
Проект должен состоять из трёх модулей.
На первой форме введите номер месяца – компонент Edit1. В обработчике кнопки установите значение свойства TableName, равным константе ‘Prihod’+Edit1.text, и Active:=True;
Предусмотрите, что не по всем месяцам могут быть данные по приходу товаров.
Данные наборов данных по приходу отобразите в компоненте DBGrid.
В компоненте Label – укажите заголовок данных - за какой месяц выдаются данные: Приход за <название месяца>. Название месяца получите в процедуре.
Обеспечьте возможность добавления, редактирования данных по приходу.
Кнопка Отчет за месяц должна вызывать отчет по поступлению всех товаров за месяц с группировкой по товару. Отчет должен быть создан на третьей форме. Перед вызовом отчета установите связь между НД PrihodN и Tovar. Старший НД PrihodN.
Кнопка Отчет по поступлению 1 товара за месяц должна вызывать вторую форму.
На второй форме в компоненте DBLookUpComo или DBLookUpComoBox (без установки свойств DataSource и DataField) выдайте список товаров. Для выбранного товара в кнопке Печать установите фильтрацию на НД PrihodN по выбранному товару и вызовите отчет с третьей формы.
На третьей форме разработайте группирующий отчет по поступлению товаров за месяц с группировкой по кодам товаров. В заголовке отчета укажите Приход за <название месяца>. Воспользуйтесь процедурой. Подсчитайте на какую сумму поступил каждый товар: при каждом поступлении, за месяц и все товары за месяц.
Выполните это же задание с использованием функции вместо процедуры
Дата добавления: 2019-03-09; просмотров: 164; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
