Форум: "Базы";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
ВнизDBLookupComboBox, KeyValue, два ключевых поля... Что делать? Найти похожие ветки
← →
Denis_P (2002-08-28 15:54) [0]Здравствуйте, господа!
Возникла такая вот проблемка... Нигде не смог найти подобное, так что если я сильно повторяюсь, то, пожалуйста, ногами не пинайте!...
Собственно проблема: есть DBLookupComboBox, при помощи к-рого выбирается нужное значение. Св-во DataSource не используется. Ключевых поля два. Но в KeyField можно указать только одно поле, тем не менее выбранное значение (а точнее - значения, т.к. их два) получаем через ListSource.DataSet .
А вот как сделать, чтоб DBLookupComboBox отображал нужную нам запись по _ДВУМ_ ключевым полям??? Метод ListSource.DataSet.Locate исправно работает, но как известно DBLookupComboBox не отображает перемещения по ListSource.DataSet ...
Как выйти из подобной ситуации с меньшими потерями?
Заранее спасибо! Денис.
← →
Mike Kouzmine (2002-08-28 15:55) [1]Val1;Val2
← →
Denis_P (2002-08-28 15:59) [2]Намёк не понял... :-(((
Если можно, то поразвёрнутей пожалуйста!.. :-)
← →
Mike Kouzmine (2002-08-28 16:34) [3]KeyField := "Val1;Val2"
← →
Denis_P (2002-08-28 17:03) [4]Нет. Такое не проходит... :-(((
← →
Mike Kouzmine (2002-08-28 17:06) [5]А обязательно DBLookUp?
← →
Denis_P (2002-08-28 17:55) [6]А какие еще есть варианты, если надо предоставить для выбора значения из таблички?
Мож я чего не знаю...
← →
Mike Kouzmine (2002-08-28 18:16) [7]Ну, например, лукап поле в таблице. Насколько помню, там это можно.
← →
Denis_P (2002-08-28 19:18) [8]Ну эт совсем другое.... :-(
← →
Mike Kouzmine (2002-08-28 19:23) [9]Посмотрел несколько dblookupов, там тоже только одно :(
← →
ЮЮ (2002-08-29 03:08) [10]Переделай один из dblookupов и положи в Кладовку.
Или сделай два dblookup-а, один на одно поле ("главное"), а второй на другое("подчинённое") и программно обрабатывай изменения в "главном" поле, перестраивая ListSourse.Dataset dblookup-а "подчинённого" поля
← →
MW (2002-08-29 10:13) [11]Перестрой запрос:
select pkey1 || pkey2 UnionKey, DataName
from AnyTable
В KeyField := UnionKey
Получится составной ключ.
Подходит?
← →
ShuraGrp (2002-08-29 11:25) [12]Используй wwDBLookupCombo (из набора ip3000) там можно хоть пять
← →
Denis_P (2002-08-29 20:01) [13]Всем спасибо за участие и ответы!
Сщвет MW понятен, и я так пока и делаю, но есть "боязнь", что в случае большого справочника KeyField := UnionKey будет долго выполняться, по причине отсутсвия индекса... Но тем не менее!..
Уважаемый ShuraGrp, а не подскажете где это можно найти/скачать?
Денис.
← →
MW (2002-08-30 10:19) [14]Если эти два ключевых поля являются Primary key, то для них поумолчанию создается unique index в качестве constraint, если нет то индекс можно и сделать. Даже по двум полям.
Если справочник фиксированной длины и не будет изменяться, то можно использовать кластер или хешированный кластер в зависимости от потребностей и объемов.
А ip3000 можно купить, только дорого насколько я помню.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c