Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Автоматизоване робоче місце менеджера книгарні

Реферат Автоматизоване робоче місце менеджера книгарні





агато слів для того, щоб описати процес показаний вище, але, фактично, виконання команд в Експерті форм БД легко і інтуїтивно.

Виділіть перший з двох об'єктів TQuery і встановлять властивість Active в True. Для Query2 у властивості SQL напишіть текст запиту:

* 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. Заповніть створений метод так:

TForm2.Query2CalcFields (DataSet: TDataSet); NewTotalInvoice.Value:=23.0 ;;


Після запуску програми поле Total буде містить рядок $ 23.00.

Етпро показує, наскільки просто створити обчислюване поле, яке показує правильно сформатував дані. Насправді це поле повинне показувати щось інше - твір полів Qty (кількість) і ListPrice (ціна). Для цього вищенаведений код для події OnCalcFields потрібно змінити наступним чином:


procedure TForm1.Query2CalcFields (DataSet: TDataset); Total.Value:=Query2Qty.Value * Query2ListPrice.Value;

end;


Якщо тепер запустити програму, то поле Total буде містити потрібну установку.

У обробнику події OnCalcFields можна виконувати і більш складні обчислення (це буде показано пізніше), однак слід пам'ятати, що це викликає відповідний уповільнення швидкості роботи програми.

Тепер давайте додамо обчислюване поле для першої таблиці (Query1, ORDERS), яке буде відображати суму значень з поля Total другої таблиці (Query2) для даного замовлення. Викличте редактор DataSet для об'єкта Query1 і додайте обчислюване поле NewItemsTotal типу CurrencyField. У обробнику події OnCalcFields для Query1 потрібно підрахувати суму і привласнити її полю NewItemsTotal:

TForm1.Query1CalcFields (DataSet: TDataset); R: Double;:=0; Query2 do begin ;;;:=R + Query2Total.Value ;; EOF ;;;; NewItemsTotal.Value:= R ;;


У даному прикладі сума підраховується за допомогою простого перебору записів, це не найоптимальніший варіант - можна, наприклад, для підрахунку суми використовувати додатковий об'єкт типу TQuery. Метод DisableControls викликається для того, щоб скасувати перерисовку DBGrid при скануванні таблиці. Запит Query2 перевідкривається для впевненості в тому, що його поточний набір записів відповідає поточному замовленням.

Помістіть на форму ще один елемент DBEdit і прив'яжіть його до Query1, полю NewItemsTotal. Запустіть програму, її приблизний вигляд показаний на ріс.12.19.


Рис. 12.19. Програма CALC_SUM


Як видно з програми, наявність поля ItemsTotal в таблиці ORDERS для даного прикладу необов'язково і його можна було б видалити (проте, воно необхідне в інших випадках).

Управління TDBGrid під час виконання

Об'єкт DBGrid може бути повністю реконфигурирован під час виконання програми. Ви можете ховати і показувати колонки, змінювати порядок показу колонок та їх ширину.

Ви можете використовувати властивість Options об'єкта DBGrid, щоб змінити її уявлення. Властивість Options може приймати наступні можливі значення: Встановлений по-замовчуванню в true, дозволяє користувачеві редагувати grid. Ви можете також встановити властивість ReadOnly grid в True або False. Чи будуть видно назви колонок. Чи будуть видно невеликі іконки зліва. Чи може користувач міняти розмір колонки. Чи показувати лінії між колонками. Чи показувати лінії між рядками. Чи може користувач використовувати tab і shift-tab для перемикання між колонками.

Як оголошено в цій структурі:


TDBGridOption=(dgEditing, gdAlwaysShowEditor, dgTitles ,, dgColumnResize, dgColLines,

dgRowLines, dgTabs);


Наприклад, Ви можете встановити опції в Runtime написавши такий код:

. Options:=[dgTitles, dgIndicator];


...


Назад | сторінка 23 з 26 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: До питання про теорію поля: функціонально-семантичне поле дейксиса
  • Реферат на тему: Електростатічне поле ТА ЙОГО Потенціал
  • Реферат на тему: Поле Кульмську битви і його меморіалізації
  • Реферат на тему: Шахтне поле 4-РУ
  • Реферат на тему: Футбольне поле