Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы с 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)

А если попробовать сделать ручной М-Д, т.е. ручками переоткрыть дочерний запрос?


Наверх

Титульная страница Поиск, карта сайта Написать письмо