В таблице ORDERS хранятся все
связаны по полю PartNo. ( В таблице ORDERS хранятся все заказы;
в таблице ITEMS - предметы, указанные в заказах; PARTS - справочник предметов). В программе можно перемещаться по таблице ORDERS и видеть связанный с текущим заказом список включенных в него предметов. Программа CALC_SUM
достаточно сложная, но хорошо иллюстрирует мощность вычисляемых полей.
Последовательность создания проекта CALC_SUM:
-
Создайте новый проект (File|New Project) и удалите из него форму (в Менеджере Проекта View|Project Manager)
-
Выберите эксперта форм БД из меню Help.
-
На первом экране, выберите "Create a master/detail form" и "Create a form using TQuery Objects".
-
Нажмите кнопку Next и выберите таблицу ORDERS.DB из псевдонима БД DBDEMOS.
-
Нажмите Next и выберите поля OrderNo, CustNo, SaleDate, ShipDate и ItemsTotal из таблицы ORDERS.DB.
-
Нажмите Next и выберите "Horizontal" из расстановки компонентов dbEdit на форме.
-
Нажмите Next и выберите таблицу ITEMS.DB.
-
В двух следующих экранах выберите все поля из таблицы и поместите их в grid.
-
Нажмите Next и выберите поле OrderNo из Master и Detail ListBoxes, и Нажмите кнопку Add.
-
Нажмите Next и сгенерируйте форму.
Требуется много слов для того, чтобы описать процесс показанный выше, но, фактически, выполнение команд в Эксперте форм БД легко и интуитивно.
Выделите первый из двух объектов TQuery и установят свойство Active в True. Для Query2 в свойстве SQL напишите текст запроса:
select * from Items I, Parts P
where (I.OrderNo =:OrderNo) and
(I.PartNo=P.PartNo)
Активизируйте объект Query2 (Active установите в True)
и вызовите редактор DataSet (Fields Editor)
для него. Вызовите диалог Add Fields и добавьте поля OrderNo, PartNo, Qty и ListPrice.
Нажмите Define и ведите слово Total в поле FieldName. Установите Field Type в CurrencyField. Проверьте что Calculated CheckBox отмечен. Нажмите Ok и закройте редактор DataSet.
Простой процесс описанный в предыдущем абзаце, показывает как создать вычисляемое поле. Если посмотреть в DBGrid, то можно видеть, что там теперь есть еще одно пустое поле. Для того, чтобы поместить значение в это поле, откройте в Инспекторе Объектов страницу событий для объекта Query2 и сделайте двойной щелчок на OnCalcFields. Заполните созданный метод так:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий