Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2010, 22:33   #1
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
По умолчанию Сортировка данных, FireBird-Delphi

Такая проблемка.
Таблицы подключаются через IBTable, но мне нужно сделать сортировку данных в таблице по возрастанию и убыванию и вывести результат в тотже DBGrid.
Так как использую IBTable, то использовать IBQuery для вывода рез.сортировки в тотже DBGrid я немогу. Может быть как-то средствами Delphi ?
Тут на форуме нашёл: ADOtable1.Sort:='[Имя колонки]'+'ADS';
Но увидел, что у IBTable нет Sort.
POPOV вне форума Ответить с цитированием
Старый 13.04.2010, 06:22   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Если есть возможность, то попробуйте использовать DBGridEh. В нем можно производить сортиовку по возрастанию и по убыванию. Например так:
Код:
  Form1.CheckBox9.Checked:=False;
  Form1.DBGridEh3.Columns[1].Title.SortMarker:=smUpEh;
  Form1.pFIBDataSet3.Close;
  Form1.pFIBDataSet3.SQLs.SelectSQL.Clear;
  Form1.pFIBDataSet3.SQLs.SelectSQL.Text:='SELECT DISTINCT FAMR,IMYR,
  OTCHER,FAMK,IMYK,OTCHEK,DAT,VREM FROM RABOTNIKI,KLIENTY,USLUGI,  VREMY
 WHERE (USLUGI.IDFIO = RABOTNIKI.ID) AND (VREMY.IDKLIENTA = KLIENTY.ID) 
   AND (VREMY.IDSS = RABOTNIKI.ID) AND (VREMY.IDU = USLUGI.ID)  ORDER BY FAMR';
  Form1.pFIBDataSet3.Open;
Так я, например, сортировал записи по возрастанию по фамилии.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось Stilet; 13.04.2010 в 08:15.
artemavd вне форума Ответить с цитированием
Старый 13.04.2010, 08:17   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
по возрастанию и убыванию и вывести результат в тотже DBGrid.
В конце запроса пиши order by поле1 asc, поле2 desc
asc - это по возростанию, desc - по убыванию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2010, 10:55   #4
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В конце запроса пиши order by поле1 asc, поле2 desc
asc - это по возростанию, desc - по убыванию.
При помощи SQL запроса не могу, так как таблицы подключаются через IBTable. Не могу ли я программно переставлять связь DataSource с IBTable на IBQuery

artemavd, спасибо, но мне нужно использовать только DBGrid.
POPOV вне форума Ответить с цитированием
Старый 13.04.2010, 11:22   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

У IBTable для этого должно быть свойство IndexFieldNames (с названием могу обмануть, т.к. давненько не пользовался), в котором прописываются имена полей, участвующих в сортировке. Там только по убыванию вроде бы не получится упорядочить записи.
Вот доку нашел: http://www.ibase.ru/devinfo/ibx.htm#ibtable может еще чего полезного найдете по ссылке
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Firebird. Синхронизация данных koma_grusha БД в Delphi 11 25.03.2010 10:11
сортировка данных (пересчет возможных вариантов комбинаций, перенос данных в таблицу) Vitalik85 Microsoft Office Excel 4 12.08.2009 00:30
EMS InterBase & FireBird Manager 3 ошибка создания Базы данных Gilio БД в Delphi 2 08.05.2009 15:59
Firebird vs Delphi HELP! paSHIZ БД в Delphi 4 13.01.2009 12:19