Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.011 c
4-61357
easy
2002-07-03 13:46
2002.09.19
CPP -> Delphi


6-61236
Jorchick
2002-07-13 21:27
2002.09.19
Имя компьютера


3-61019
michael_b
2002-08-29 22:20
2002.09.19
Следует ли использовать IBTable?


1-61047
Елена
2002-09-09 10:21
2002.09.19
Работа с файлами и со строками


1-61046
Prok12
2002-09-08 16:46
2002.09.19
Как избавиться от сообщений типа:





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский