Курсовая / 3_3_lukar_p
.docЛабораторная работа №3
Откройте проект лабораторной работы №2.
Так как у нас несколько таблиц (а именно 4), а на форме пока присутствует только одна компонента ADO Query, то следует добавить на форму еще 3 шт. В свойствах Properties установите имя для каждой из них (например qrTovar, qrVid, qrOtdel, qrPostav).
В окне Object Inspector в вкладке Properties в строке SQL в TString вписать запрос следующего вида: select пробел * пробел from пробел имя таблицы (для каждой таблицы соответственно)
Формирование запросов:
select * from tovar
select * from Vid
select * from Otdel
select * from Postav
Теперь каждая из компонент ADO Query отвечает за соответствующую таблицу.
Найдите компоненту ADO Query с именем qrTovar и выполните двойной щелчок ЛКМ по ней. Появится окно следующего вида:
Нажать правой кнопкой в нем и выбрать Add Fields. Появится окно
Нажать ОК.
Затем в окне Form -> ADO Query нажать правой кнопкой и выбрать New Fields (новые поля).
В появившемся окне указать следующие параметры (на примере связи с таблицей Vid):
Аналогично проделайте с таблицами Otdel, Postavshik.
Другими словами вы создаете связь полей таблицы Tovar с таблицами Vid, Otdel, Postavshik
Последним добавим суммирующее поле. New Fields –>
Далее перейдем к компоненте Grid/ Щелкнуть по ней 2 раза, и выбрать команду Select All. Затем удалить лишние поля (поля id нам не нужны).
После того, как определились с полями, которые будут отображены, следует упорядочить их (можно перетащить мышкой). Теперь присвоим им заголовки. Для этого в окне Editing DBGrid1-> Columns выделяем каждое поле и в окне Object Inspector в вкладке Properties в строке Caption указываем заголовок (можно кириллицей)
Аналогично задайте заголовки всем полям.
Установите свойства Active всех компонент ADO Query в true.
Для компоненты ADO Query с именем qrTovar (которая отвечает за сводную таблицу Tovar) в окне Object Inspector в вкладке Events в строке OnCalcFields выполнить правый щелчок и прописать функцию:
//---------------------------------------------------------------------------
void __fastcall TForm1::qrTovarCalcFields(TDataSet *DataSet)
{
qrTovarSuma->Value = qrTovarkolichestvo->Value * qrTovarprice->Value;
}
//---------------------------------------------------------------------------
Откомпилируйте и заполните таблицу.