Форум: "Базы";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];
ВнизДва 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c