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

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

Как выполнить сложную сортировку? [D5]


Саня ©   (2003-04-12 08:41:00) 

Есть 4 comboboxa.
Мне нужно следующее: выбрали 1 combobox-отсортировали,
выбрали 2 combobox-отсортировали из ранее отсортированных и т.д.
Последовательность и число (из4) выбора comboboxов любая.


makdi   (2003-04-15 07:32:00) [1]

Я так понял что тебе нужно чтобы при выборе в первом комбобоксе итема во втором подставлялось что-то из другой таблицы связаное с итемом? Если правильно, то настраивай MasterSourсe у таблиц или запросов и будет тебе счастье :))


Саня   (2003-04-13 18:59:00) [2]

Извените.Мне нужна не сортировка а выборка записей из ранее отобранных с помощью другого комбокса


Alexandr   (2003-04-12 11:30:00) [3]

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


Lancelot   (2003-04-12 11:23:00) [4]


> Перед этим всем целесообразно запомнить первоначальный код
> запроса, т.е.:
>
> ...
> OldSelect : string;
> ...
> OldSelect:=select <что-то> from <откуда-то> where <зачем-то>;

Пардон, здесь, конечно же, надо взять в апострофы:
OldSelect:="select <что-то> from <откуда-то> where <зачем-то>";


Lancelot   (2003-04-12 11:21:00) [5]

Если обращаешься к БД через T/ADO Query или ADODataSet, т.е. посредством SQL запроса

select<что-то> from<откуда-то> where<зачем-то>,

то можно при выборе первого ComboBox-а делать следующее:

Query1.close;
Query1.SQL.Add(" order by "+ComboBox1.text);
Query1.open;


и всех последующих:

Query1.close;
Query1.SQL.Add(", "+ComboBoxN.text);
Query1.open;


Перед этим всем целесообразно запомнить первоначальный код запроса, т.е.:

...
OldSelect : string;
...
OldSelect:=select
<что-то> from<откуда-то> where<зачем-то>;

и предусмотреть действие, при котором результаты сортировок бы сбрасывались:

Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add(OldSelect);
Query1.open;


Это самый простой вариант решения проблемы, можно придумать еще лучше :)


blackman   (2003-04-12 10:34:00) [6]

... order by - как всегда работает хорошо.


ЮЮ   (2003-04-12 09:39:00) [7]

Таблица - БД? Компоненты доступа?

>в комбобоксе текст по которому мы сортируем таблицу по определённому полю

Или сформулируй правильно, или на пальцах покажи :-)


Саня   (2003-04-12 09:30:00) [8]

в комбобоксе текст по которому мы сортируем таблицу по определённому полю


ЮЮ   (2003-04-12 09:26:00) [9]

>отсортировали из ранее отсортированных
:-)
>выбрали 1 combobox-отсортировали
И что в комбобоксе ?

И что сортируем - то ? Вагоны в "Москва-сортировочная"?


Наверх

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