Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.052 c
4-1099316462
maxz
2004-11-01 16:41
2004.12.26
Проверка CRC32


1-1102785933
vvvaaa
2004-12-11 20:25
2004.12.26
Промотка панели


1-1102688247
Frozzen
2004-12-10 17:17
2004.12.26
dfm файлы...


14-1101983506
Ega23
2004-12-02 13:31
2004.12.26
Сахарный диабет


1-1102502874
mefisto
2004-12-08 13:47
2004.12.26
Вставка в ячейку DBGrid иконки 16х16 или Bitmap