Текущий архив: 2002.12.12;
Скачать: CL | DM;
Вниз
Использование DBLookUpComboBox Найти похожие ветки
← →
Юлия (2002-11-24 16:02) [0]В раскрывающемся списке находятся не все значения поля, а только то, которое соответствуют значеню поля в дочерне таблице. Почему? Как это исправить?
Установленные значения:
DataSource – родительская таблица
DataField – поле в родительской таблице
ListSource – дочерняя таблица
ListField – поле, значения которого должны отображаться в Combo
KeyField – ключевое поле дочерней таблицы
← →
Юлия (2002-11-24 19:07) [1]Мастера, помогите пожалуйста! Может, я неправильно понимаю, для чего вообще нужен DBLookupComboBox?
← →
mike-d © (2002-11-24 20:39) [2]>Может, я неправильно понимаю, для чего вообще нужен DBLookupComboBox?
Скорее всего так оно и есть
Если ListSource дочерняя таблица, как Вы пишите, то и видеть будете только подчиненные записи определенные ключом в MasterFileds дочерней таблицы.
Стандартное применение Lookup полей заключается в подстановке значений элемента таблицы элементами из справочника. Например:
1-ая таблица (какие-то данные) (Customer)
1. ID клиента
2. Наименование клиента
3. ID банка обслуживающего клиента
2-ая таблица (справочник) (Banks)
1. ID банка
2. Наименование банка
3. И т.д.
Создаем Lookup поле в первой таблице
DataSource - Customer
DataField - Customer.FieldByNum(3)
ListSource - Banks
KeyField - Banks.FieldByNum(1)
ListField - Banks.FieldByNum(2)
Теперь Вы получаете возможность при вводе клиента в DBLookupComboBox выбирать наименования банков, а в Customer будут попадать их ID. Также при изменении наименования или реквизитов банка Вам не нужно заботиться об изменении их в таблице клиентов, все идет автоматом. Правда при изменении ID банка нужно позаботиться об изменении из в Customer, но это уже вопрос ссылочной целостности (Referential Integrity) и его решение зависит от движка БД, которым Вы пользуетесь.
Опишите проблему, почему Вы именно так хотите применить Lookup поле, может быть сумеем помочь...
← →
Юлия (2002-11-25 18:55) [3]Именно так я и делаю, но в выпадающий список заносится почему-то только одно значение - которое соответствует текущей записи Customer, хотя в Banks несколько записей!!! Причем, при движении по таблице Customer значение в DBLookUpComboBox меняется - отображется правильно, но только одно. :(((
← →
mike-d © (2002-11-25 20:32) [4]Проверьте, не привязана ли Ваша Banks к какой нибудь таблице (MasterSource и MasterFields). Если да, то таким образом справочники не используются, т.к. мы не сможем получить всех значений справочника.
Если по логике программы Вам необходимо установить связь master-detail к Banks, тогда используйте в качестве справочник SQL запрос из Banks (SELECT * FROM Banks ORDER BY NameBank), чтобы все значения справочника были доступны. А при изменении Banks переоткрывайте запрос.
← →
Юлия (2002-11-25 20:36) [5]Ой, спасибо, я поняла. Просто в таблице Banks у меня было установлено значение MasterSourсe. Вот он и фильтровал...
Страницы: 1 вся ветка
Текущий архив: 2002.12.12;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.03 c