Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизMasterSourse в IBDATASET Найти похожие ветки
← →
Fedor (2004-11-29 16:47) [0]Подскажите пожалуйста аналог MasterSourse от IBTable для IBDATASET(т.е. связанные поля)
← →
Fedor (2004-11-29 20:04) [1]select * from ds2, ds1 where id1=id2 не помогает. В DBgrid"е ds2 висит несколько записей непонятно по какому принцыпу отобранные. Кто знает в чем дело?
← →
Vemer © (2004-11-29 20:22) [2]Похоже IbTable тебя задолбал )).
Используй свойство DataSource и параметрический запрос.
НапримерSelect * From Tovar
Where Tov_Group_Nomer = :Tov_Group_ID;
Tov_Group_ID - поле в Master таблице.
← →
Hmm © (2004-11-29 21:18) [3]а можно так:
procedure TForm1.IBDataSet1AfterScroll(DataSet: TDataSet);
begin
ibdataset2.close;
ibdataset2.SelectSQL.Clear;
ibdataset2.SelectSQL.Add("select * from Tovar where Tov_Group_Nomer=:Tov_Group_ID");
ibdataset2.Params[0].AsString:=dataset.Fields.Fields[1].AsString;;
ibdataset2.Open;
end;
где IBDataset1 - "главная" таблица, IBDataset2 - "дочерняя" таблица, Fields[1] - то поле в "главной" таблице, по которому осуществляется связь (как я понял - Tov_Group_Nomer).
← →
Fedor (2004-11-30 04:40) [4]К сожалению не прокатил ни один вариант. Таблицы должны быть связаны по первому полю (я так понимаю оно Fields[0].Integer) в обеих таблицах. И в первом и во втором случаях в DBGride присоединенной таблице пусто.
← →
Hmm © (2004-11-30 09:50) [5]Собственно [2] от [3] не сильно отличаются (запостил, потому что не сразу понял суть [2]), но вот в [3] абсолютно работающий код (по крайней мере при стандартных усовиях, набросав компоненты на форму, связав и подцепив к своей базе, проверил - все ОК).
Рискну предположить, что во второй таблице у тебя просто нет соответсвующих записей?
Либо поробуй конкретнее описать как ты организовывал эту связь, чтобы можно было бы смоделировать твою ситуацию у себя. =)
← →
Fedor (2004-11-30 12:44) [6]Таблица 1, мастер- RegTable(первое поле RID). Таблица 2- KassaTable(первое поле KID). Связанны по полю KID=RID. На RID стоит генератор (CREATE GENERATOR GEN_REGTABLE;
SET GENERATOR GEN_REGTABLE TO 27;). Его указываю в Generator field. На форме IBDataSet, IBDataBase, IBTransaction, DataSource, DBGrid, добавил на всякий случай UpdateSQL- ничего. Соответсвующие данные есть.
← →
Fedor (2004-11-30 15:52) [7]Дурдом какой-то. Это не работало, потому что в свойстве IBDataSet2-DataSourse нужно было указать DataSourse, который присоединен к IBDataSet1!!! Как вам это?
← →
Val (from Donetsk) (2004-11-30 22:43) [8]:) правильно
← →
Hmm © (2004-11-30 22:48) [9]бывает )
← →
Hmm © (2004-11-30 22:52) [10]хотя постойте, у меня IBDataset1.datasource=DataSource1 и IBDataset2.datasource=DataSource2... забавно.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.057 c