Как связать 2 таблицы?
Есть две таблицы: Product и ProductInfo
procedure TdmMy.DataModuleCreate(Sender: TObject);
begin
….
cdsProduct.Open;
cdsProductInfo.Open;
cdsProduct.AddIndex('indxID','ID',[],'','');
cdsProduct.IndexFieldNames:='ID';
cdsProductInfo.AddIndex('indxID','ProductID;Materi alID',[],'','');
cdsProductInfo.IndexFieldNames:='ProductID;Materia lID';
end;
Устанавливаем связь через MasterSource и MasterFields
procedure TfmSpisanie.FormActivate(Sender: TObject);
begin
pnlProduct.Height:=fmSpisanie.ClientHeight div 2;
dsProduct.DataSet:=dmMy.cdsProduct;
dsProductInfo.DataSet:=dmMy.cdsProductInfo;
dmMy.cdsProductInfo.MasterSource:=dsProduct;
dmMy.cdsProductInfo.MasterFields:='ID';
В результате данные в таблицах показываются неверно:
в таблице Product недоступны строки с Product.ID= Productinfo.ProductID
Как правильно установить связь?
|