![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с Master-Detail в LookupCombo при переводе [D5, D7]
Ega23 © (2007-02-21 10:25:00)BDE-проекта с Delphi5 на Delphi7
Задача:
Есть таблица Master (MasterID, MasterName), есть Detail (DetailID, MasterID, DetailName).
Надо на форму для фильтра положить 2 LookupCombo, связанных по мастер-деталь. (Обычно пользовался TrxDBLookupCombo, но со стандартным тоже проверил).
Для Delphi 5:
qMaster, qDetail : TQuery;
dsMaster, dsDetail : TDataSource;
qMaster.SQL.Text := 'Select * from Master';
qDetail.SQL.Text := 'Select * from Detail where MasterID=:MasterID';
qDetail.DataSource := saMaster;
для комбиков - указываем соответствующие ListSource, ListField и KeyField.
В ран-тайме - qMaster.Open; qDetail.Open; - всё отлично работает.
Теперь перетаскиваю этот проект на Delphi 7.
В случае стандартного TDBLookupCombo вроде оба открываются как надо, но при перемещении по нижнему с помощью клавиатуры ловится AV непойми где.
А в случае TDBLookupComboEh или TRxDBLookupCombo - при попытке открыть нижний комбик вываливается ошибка "qDetails: Field '' not found".
В общем посоветуйте, куда копать.
Ega23 (2007-02-21 16:20:00) [1]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1172064002&n=1
Теперь это актуально... :)
Ega23 (2007-02-21 16:18:00) [2]
> А раньше на D5 это работало?
Работало, но через попу. Приходилось свои обработчики дописывать.
Ладно, я уже почти до конца свой комбик написал. Так что уже неактуально.
Johnmen (2007-02-21 16:01:00) [3]А раньше на D5 это работало?
Есть ли явный (твой) фильтр на Деталь? Если есть, то как реализован?
Ega23 (2007-02-21 14:09:00) [4]Я уже. признаться, кучу разных вариантов перепробовал, и то не так, и это не этак. Плюнул на всё слюной, решил свой компонент написать. Вот сижу, ваяю...
Ega23 (2007-02-21 14:08:00) [5]
> Что такое qDetails? Из сабжа не видно...
описАлся. qDetail : TQuery;
Johnmen (2007-02-21 14:03:00) [6]
> Ega23 ©
> вываливается ошибка "qDetails: Field '' not found".
Что такое qDetails? Из сабжа не видно...
Ega23 (2007-02-21 11:12:00) [7]Да и, насколько я понял, не в запросе дело: если детальный комбик заменить на DBGrid - всё прекрасно работает.
Проблема - когда именно 2 LookupCombo.
Ega23 (2007-02-21 11:10:00) [8]Можно и ручками. Вот только ну слишком дофига где придётся переоткрывать...
Sergey13 (2007-02-21 11:02:00) [9]> [0] Ega23 © (21.02.07 10:25)
А если попробовать сделать ручной М-Д, т.е. ручками переоткрыть дочерний запрос?