Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DBComboBox


Страницы:   1 2 3 4 5 6 7 8

Andrewtitoff ©   (2009-11-02 15:39:00) 

Здравствуйте!, подскажите пожалуйста как сделать что бы в DBComboBox работал выпадающий список?, не ручным заполнением, т.к. у меня в таблице 80 полей и 7тысяч записей, а при ручном заполнении получается приличная тормозня т.к. при ручном заполнении приходится еще и проверять на наличие уже такой записи в DBComboBox-е (в таблице только одно поле ключевое и уникальное, все остальные могут повторяться сколько угодно хоть все 7тыс одинаковые...), или может быть что то другое использовать, а не DBComboBox, но нужна возможность редактирования...


Andrewtitoff   (2009-11-02 16:40:00) [121]


> Dennis I. Komarov ©   (02.11.09 16:36) [27]
> [4] + DBLookupComboBox на полученный DataSet

В смысле?


> Anatoly Podgoretsky ©   (02.11.09 16:37) [28]
> > Можно примерчик запроса?SELECT DISTINCT Fld FROM Tbl ORDER
> BY Fld

Ой, А целеком можно, кужы это пихать то? =)))


Anatoly Podgoretsky   (2009-11-02 16:39:00) [122]

А тут уже и ComboBox не нужен, он же для выбора, а из чего выбирать из одной записи что ли?


Dennis I. Komarov   (2009-11-02 16:38:00) [123]


> Anatoly Podgoretsky ©   (02.11.09 16:36) [26]

Ну я понял, что у него всего одна, но мега таблица...

И он не ответил, на какого банана ее всю показывать пользователю...


Anatoly Podgoretsky   (2009-11-02 16:37:00) [124]


> Можно примерчик запроса?

SELECT DISTINCT Fld FROM Tbl ORDER BY Fld


Andrewtitoff   (2009-11-02 16:37:00) [125]


> Dennis I. Komarov ©   (02.11.09 16:33) [23]
> > Andrewtitoff ©   (02.11.09 16:29) [19] Приведи пример,
>  что ты хочешь оттуда вытащить...

Как что?, ну допустим каждый лифт находится на какой то улице, так вот допустим на Ленинском проспекте 400 лифтов, а мне нужно что бы в ComboBox-е была только одна запись "Ленинский пр-т"


Anatoly Podgoretsky   (2009-11-02 16:36:00) [126]


> Приведи пример, что ты хочешь оттуда вытащить...

Не что, а откуда, поскольку позиция несколько раз менялась.


Dennis I. Komarov   (2009-11-02 16:36:00) [127]

[4] + DBLookupComboBox на полученный DataSet


Anatoly Podgoretsky   (2009-11-02 16:35:00) [128]

> Andrewtitoff  (02.11.2009 16:33:22)  [22]

Что ты делаешь понятно, но так делать не нужно, как минимум это будет медленно.


Andrewtitoff   (2009-11-02 16:35:00) [129]


> Anatoly Podgoretsky ©   (02.11.09 16:31) [21]
> > Andrewtitoff  (02.11.2009 16:27:16)  [16]Только тебе советовали
> запрос с отбором, а не таблица с позаписным сравнением.

А как это сделать?, просто я с базами не буб-бум, можно сказать первый раз пришлось ковыряться.... =((((
Можно примерчик запроса?


Andrewtitoff   (2009-11-02 16:33:00) [130]

2 Dennis I. Komarov ©
1)Ну это я просто еще все ComboBox-ы на DBComboBox-ы не поменял....
2)А как?, я присваиваю с "ложь", потом перебираю ComboBox и если нахожу такое значение то с присваиваю "истина", и в итоге записываю в ComboBox значение только если с - "ложь" т.е. такой записи там еще нет


Dennis I. Komarov   (2009-11-02 16:33:00) [131]


> Andrewtitoff ©   (02.11.09 16:29) [19]

Приведи пример, что ты хочешь оттуда вытащить...


Dennis I. Komarov   (2009-11-02 16:31:00) [132]


> Dennis I. Komarov ©   (02.11.09 16:29) [18]

Пардон... не пиши так все в строку, плохо читается...


Anatoly Podgoretsky   (2009-11-02 16:31:00) [133]

> Andrewtitoff  (02.11.2009 16:27:16)  [16]

Только тебе советовали запрос с отбором, а не таблица с позаписным сравнением.


Dennis I. Komarov   (2009-11-02 16:29:00) [134]


> then c:=true;
>  if c=false

А это что за пляски?


Andrewtitoff   (2009-11-02 16:29:00) [135]

2
> Sergey13 ©   (02.11.09 16:26) [15]
> > [11] Andrewtitoff ©   (02.11.09 16:13)> т.к. они все есть
> в базе Ну так настрой лукапполя на эти справочники.

Как?, там только одна таблица.., или я что то не понимаю?, а значения беруться из других записей, как выразился Anatoly Podgoretsky "что речь идет все таки о копирование старых полей"


Andrewtitoff   (2009-11-02 16:27:00) [136]

2 Anatoly Podgoretsky
Ну в общем то примерно так и есть, а можно как нибудь это ускорить т.к. я это делаю так:

...
Form1.ADOTable4.First;
while not Form1.ADOTable4.Eof do
 begin

 if Form1.ADOTable4.Fields[1].Value<>null then
 begin
 c:=false;
 for I := 0 to Form2.ComboBox1.Items.Count  do if Form2.ComboBox1.items[I]=Form1.ADOTable4.Fields[1].Value then c:=true;
 if c=false then Form2.ComboBox1.Items.Add(Form1.ADOTable4.Fields[1].Value);
 end;

....

и так примерно для 60-ти полей и в итоге все это дело около 2-х минут заполняется...


Dennis I. Komarov   (2009-11-02 16:27:00) [137]


> Andrewtitoff ©   (02.11.09 16:13) [11]

А я про Combo ничего и не спрашивал...


Sergey13   (2009-11-02 16:26:00) [138]

> [11] Andrewtitoff ©   (02.11.09 16:13)
> т.к. они все есть в базе

Ну так настрой лукапполя на эти справочники.


Anatoly Podgoretsky   (2009-11-02 16:22:00) [139]

Ну тогда используй DBComboBox с отбором уникальных значений.
Но я так понял, что речь идет все таки о копирование старых полей.


Andrewtitoff   (2009-11-02 16:19:00) [140]


> Сергей М. ©   (02.11.09 16:14) [12]
> > большинство характеристик имеют 10-20 различных значенийНу
> так вынеси их в отдельныые справочники и читай-выбирай их
> оттуда ЛукапКомбоБоксами ..

Немогу, база написанна не мной и ей пользуются юзеры при помощи оболочки написанной на VB встроенном в Access..., поэтому я немогу менять структуру базы и вообще что - нибудь что повлияет на работу их оболочки...


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо