void __fastcall TDModulBase::ADOTableGroupCalcFields(TDataSet *DataSet){
while(ADOTableGroup->Eof){
ADOTableStudent->Filtered=false;
ADOTableStudent->Filter="IndexGroup='"+ADOTableGroup->FieldByName("Index")->AsString+"'";
ADOTableStudent->Filtered=true;
ADOTableStudent->First();
int QuantityStudent=0;
while(ADOTableStudent->Eof){
QuantityStudent++;
ADOTableStudent->Next();
}
ADOTableGroup->FieldByName("QuantityStudents")->AsInteger=QuantityStudent;
ADOTableGroup->Next();
}
ADOTableStudent->Filter="";
ADOTableStudent->Filtered=false;
}
Calculated field
В общем пишу прогу для инста, есть база данных на Access подключаю её через ADO всё ок. Есть таблици Групы и Студенты в таблицу группы добавляю вычисляемое поле колличество студентов в группе. Так вот как его посчитать.
Мой вариант таков (тупо):
Код:
Но это по моему не правильно, есть ли какие то более красивые способы?
Есть ещё вариант сделать таблицу Группы главной по отношению к Студентам.
Рзз уж заморочился с фильтром, то RecordCount тебе в руки.
А какие ещё есть варианты без фильтра?