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

Вниз

Два DblookupCombobox - последвательно.   Найти похожие ветки 

 
Николай   (2005-05-23 18:05) [0]

Привет!
Использую Delphi7 + MS Access + AdoTable + DBGridEh (Ehlib)
В Access есть три последовательно связанные между собой таблицы.
Главная – таблица типов оборудования. Два столбца – Код типа и Наименование типа.
Подчиненная – таблица подтипов оборудования. Три столбца Код типа, Код подтипа и Наименование подтипа. Данная таблица связана с предыдущей по столбцу Код типа.
Таблица со списком оборудования – присутствуют столбцы Код типа, Код подтипа, Код оборудования (счетчик) ну и характеристики оборудования. Эта таблица связана с предыдущей по столбцам Код типа и Код подтипа.

Все перечисленные таблицы имеют указанные связи, реализованные как в БД, так и в Mastersource-Masterfields. Окно выглядит так
--------------------
DBLookupCombobox1 (для выбора типа оборудования)
--------------------
DBLookupCombobox2 (для выбора подтипа оборудования)
-------------------
DBGridEh + кнопки управления добавления записей (для описания оборудования).

С первым комбобоксом проблем не возникает.
А вот со вторым наблюдается следующее:
1. При выборе наименования подтипа оборудования в этом комбобоксе (при закрытии комбобокса) курсор в таблице подтипов оказывается совершенно не на той строке, которую выбрал пользователь – комбобокс отображает не тот текст. Естественно, при добавлении записи в таблицу описания оборудования в ключевом поле Подтипа оказывается не тот код. Хотя, если открыть указанный комбобокс второй раз (и выбрать значение), то мы увидим, что в нем курсор стоит на верной записи! А отображение после закрытия комбобокса и добавление кода неверное!
2. Еще смущает то, что иногда все вроде работает как надо (пару раз попадал на такой случай, радовался и думал, что исправил), но потом все снова как описано. Явных ошибок нет, все проверено по три раза, все объекты стерты, заменены и сконфигурированы заново, БД заполнена корректно, никаких событий, которые могли бы “сбрасывать курсор в таблице” не на то место – нет.

Подскажите, пожалуйста возможные причины – я допускаю, что использование такой схемы в Дельфи может глючить (раньше похожие случаи у кого-то были) – хочу узнать Ваше мнение по этому поводу.
Спасибо.


 
DSKalugin ©   (2005-05-23 20:16) [1]

проверь ключевые поля для подтипов, список должен быть завязан на таблицу со списком оборудования, а не на типы и прочее
Field
 KeyField
 KeyValue
 ListField
 ListFieldIndex
 ListSource


 
Николай   (2005-05-23 20:33) [2]

немного не понял :-(


 
Sergey13 ©   (2005-05-24 09:30) [3]

2Николай   (23.05.05 18:05)
Попробуй реализовать мастер-деталь руками. На изменение первого комбобокса - фильтрация второй таблицы с ручной установкой второго комбобокса на первую запись. Так же и со вторым.

>Эта таблица связана с предыдущей по столбцам Код типа и Код подтипа.
Код типа тут в принципе лишний, если Код подтипа - первичный ключ.



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.071 c
4-1116172367
seregka
2005-05-15 19:52
2005.07.11
Добавление программы в popup меню Windows


14-1118735941
leonidus
2005-06-14 11:59
2005.07.11
Отзовитель кто пишет плагины для FireFox


3-1116852613
stud
2005-05-23 16:50
2005.07.11
обновление данных в firebird 1.5


14-1118141406
Difficult
2005-06-07 14:50
2005.07.11
Флюгер


5-1089198820
RagE
2004-07-07 15:13
2005.07.11
не срабатывает таймер