Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.037 c
3-1101627994
MaxxSoft
2004-11-28 10:46
2004.12.26
Создание / изменение процедур


3-1101715981
neat
2004-11-29 11:13
2004.12.26
Автоинкрементное поле


14-1102157639
VID
2004-12-04 13:53
2004.12.26
Где в Москве можно найти прачечную с самообслуживанием


14-1102103351
Gero
2004-12-03 22:49
2004.12.26
Водная система охлаждения проца своими руками


3-1101977596
makz
2004-12-02 11:53
2004.12.26
SQL как данные





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский