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

Вниз

подстановка   Найти похожие ветки 

 
guest123   (2003-03-25 14:11) [0]

Здраствуйте мастера!
Видел одну БД там при заполнении поля имеется возможность выбора нужной записи из выпадающего списка. Попробую описать как это происходит:Вводиш последовательность значений и принажатии клавиши "стрелка вниз" выпадает список с данными где присутствует эта последовательность, далее пролистываеш той же самой стрелкой до нужного значения потом enter и запись подставляется, причем в других полях таблицы тоже подставляются данные соответсвующие этому значению). Вобщем хотел узнать как это можно сделать в дельфи.
Заранее благодарен!!!


 
tomkat ©   (2003-03-25 14:24) [1]

Это называется LookUp поля ....
есть две таблицы - главная <MAIN m > и подстановочная <DICT d>
в главной заводится поле ID_dic - идентификатор записей из DICT
соединяются они запросом типа
SELECT m.* ,d.name
FROM
main m
,dict d
WHERE
d.id=id_dic
потом на этом запросе (он выступает в роли датасета) указывается, что столбец NAME есть LookUP и ключ для него ID_dic, а берутся значения из другого датасета (тоже должон быть на форме) - таблицы DICT ....
ну может хоть чего-то понятно ...:-))))


 
Stas ©   (2003-03-25 14:31) [2]

EHLIB-набор готовых компонентов.
Хотя MSGuns и Fiend. Говорят что все нужно делать самому.


 
guest123   (2003-03-25 14:39) [3]

I>ну может хоть чего-то понятно ...:-))))
неа %))

Хотя MSGuns и Fiend. Говорят что все нужно делать самому
очень хотелась бы узнать как самому это все сделать


 
Соловьев ©   (2003-03-25 14:40) [4]

Какие компоненты используешь?


 
Sheriff   (2003-03-25 14:44) [5]

Страница Data Controls
DBLookupComboBox


 
guest123   (2003-03-25 14:48) [6]

Какие компоненты используешь?
пака еще ничего неиспользую, но хателось бы узнать и для Table и для Query


 
Stas ©   (2003-03-25 14:52) [7]

Для Table и для Query они одинаковые.
Если стандартные то DBLookupComboBox.


 
Соловьев ©   (2003-03-25 14:52) [8]

Table и для Query. Для них аналогично.
Двойной клик на TTable. Добавляешь поля. Потом там есть New...
Там есть 3 вида: Data, Calculated, LookUp. тебе надо третье.
Предварительно на форму надо положить справочную таблицу и привяжать DataSource. Потом Ложишь на форму DBGrid. Компилишь. И в уже рабочей проге дважды кликаешь на LookUp поле там должен появиться список. Можно еще в настройках DBGrida выставить для поля PickList, но он уже без справочной таблицы.


 
guest123   (2003-03-25 17:16) [9]

а если 3000 записей?
надо вот так например таблица имет поля: артикул,наименование,цена и др., я пишу в артикул 50603 и нажимаю на клавиатуре стрелку вниз появляется выпадающий список в нем 6 5060312, 5060314, 803 50603001 и тд.короче тока те записи где есть 50603 вначале, серидине, в конце без разницы пролистываю клавишей стрелка вниз до нужной записи жму ентер и потом она подставляется как в DBLookupComboBox.Вобщем нада чтоб в выпадающем списке были записи где есть 50603


 
Соловьев ©   (2003-03-25 17:20) [10]

фильтр на справочную таблицу...


 
Johnmen ©   (2003-03-25 17:25) [11]

>...пака еще ничего неиспользую
Ну не понимаю я, как можно задавать вопросы, даже не начав что-либо писать ???!!!


 
guest123   (2003-03-25 17:33) [12]

уже начал


 
MsGuns ©   (2003-03-25 20:58) [13]

>guest123 (25.03.03 17:33)
Для начала повозись со стандартными компонентами, не спеши связыватся с Эх! и прочими либами. Stas © извратил саму мысль, которая заключалась в том, ЧТО НЕ СЛЕДУЕТ ИСКАТЬ ПАНАЦЕИ ОТ ВСЕХ СВОИХ БЕД В ПОИСКАХ ГОТОВЫХ КОМПОНЕНТ.

В данном случае на лицо еще и обработка событий грида, и посылка ему сообщений программно (эмуляция нажатия юзером на кнопульке) и т.д.


 
guest123   (2003-03-26 08:25) [14]

а по конкретней можна, с чего начать


 
Соловьев ©   (2003-03-26 09:21) [15]

открыть демки по БД


 
Stas ©   (2003-03-26 11:01) [16]

To MsGuns
Я ничего не извращал, а наоборот, посоветовал EHLib и предупредил, что с этим не все согласны.

P.S. Я пользуюсь лишь одной готовой компонентой это EhLib.
И могу сказать, что это неглючная, нормальная библиотека.


 
guest123   (2003-03-26 11:42) [17]

Соловьев © (26.03.03 09:21)
какую именно, чета там я такого невстричал


 
Соловьев ©   (2003-03-26 11:44) [18]


> там я такого невстричал

$(DELPHI)\Demos\Db


 
MsGuns ©   (2003-03-26 12:23) [19]

>Stas © (26.03.03 11:01)
>P.S. Я пользуюсь лишь одной готовой компонентой это EhLib.
И могу сказать, что это неглючная, нормальная библиотека.

Прежде чем утверждать подобное, надо поюзать не одну компоненту, и сделать это с АНАЛИЗОМ всех подключаемых библиотек и генерируемого кода. Так вот, с компонентой грида идет достаточно немалая "тележка" других Эх-компонент. Не разбирался до конца, но могу сказать с 90% гарантией, что некоторые из них элементарно глючат на некоторых видеокартах (в W98 по крайней мере) - у меня полтетради записей регистрации подвисания и перегрузок винды с одной и той же диагностикой.



 
Stas ©   (2003-03-26 13:20) [20]

to MsGuns

В свое время у меня было около 20 разных компонент, и я их все повытерал.
Что касается Эх-компонент, я в курсе что при работе грида подключается много Эх-компонент. Но все проги которые я делал, а они стоят на разных компах и системах, еще ни разу не глючили. А если бы и глючили, то исходники есть.
Винда тоже глючит, ты же себе не будешь систему писать сам, чтобы знать как устранить глюки ?



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

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

Наверх




Память: 0.51 MB
Время: 0.013 c
9-43976
Phantom 13
2002-11-15 07:54
2003.04.14
Вопрос сохранения ресурсов...


1-44120
yurikon03
2003-04-03 09:20
2003.04.14
Как переопределить событие?


1-44150
Filat
2003-04-02 15:52
2003.04.14
Почему не компилится проект?


3-44022
SiJack
2003-03-25 15:52
2003.04.14
Как ячейку BDGrid редактируемой только по OnDblClick


1-44216
Zew
2003-03-31 21:03
2003.04.14
Свернуть в трей при запуске