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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2012, 16:03   #1
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию Сортировка БД access посредством Вelphi

Добрый день уважаемые. У меня есть БД Access в ней существуют несколько таблиц. Они подключены к моей программе через ADO. В программе я создал кнопку при нажатии на которую должна происходить сортировка по имени... Непосредственно сам код, который данную сортировку выполняет.
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
if ComboBox1.ItemIndex=0 then
begin
  try
   with ADOQuery1 do
    begin
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('SELECT * FROM Mebel4er ORDER BY "Наименование товара"');
      Active:=True;
      DBGrid1.Columns[0].Visible := False;
    end;
   except
     on e:Exception do
   end;
end;
Но данные не сортируются по имени, а как то не понятно как... Вот пример отсортированных данных.
123.jpg
Вопрос: Как то можно это исправить, что бы сортировка было по алфавиту что ли..
Critically вне форума Ответить с цитированием
Старый 28.08.2012, 16:22   #2
TorrentTor
Форумчанин
 
Аватар для TorrentTor
 
Регистрация: 02.11.2011
Сообщений: 105
По умолчанию

а если попробывать вот так
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
if ComboBox1.ItemIndex=0 then
begin
  try
   with ADOQuery1 do
    begin
      SQL.Clear;
      SQL.Add('SELECT * FROM Mebel4er ORDER BY "Наименование товара"');
      Active:=True;
      DBGrid1.Columns[0].Visible := False;
    end;
   except
     on e:Exception do
   end;
end;
TorrentTor вне форума Ответить с цитированием
Старый 28.08.2012, 16:35   #3
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию

Не помогло... Да и не помогло бы )

Вот думаю может в самом Access что то не так ? Хотя как может быть иначе, поле "текстовое" размер "50"...

Еще одно замечание, когда в самом access ставлю сортировку таблицы от "А до Я" то таблица в access отображается нормально, но при вводе на DВGrid запросом SELECT * FROM Mebel4er выводится не отсортированные...

Последний раз редактировалось artemavd; 29.08.2012 в 05:50.
Critically вне форума Ответить с цитированием
Старый 28.08.2012, 16:47   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В Access, что бы у него не поехала крыша от таких названий полей, использутся квадратные скобки. Попробуйте запрос
SELECT * FROM Mebel4er ORDER BY [Наименование товара]
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.08.2012, 16:49   #5
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию

ВО ! Работает вроде бы... Еще вопрос, а как узнать как именно сортируются данные ? Сначало по алфавиту это понятно, а потом как, пробелы, кавычки, цифры он как их сортирует ?
Critically вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access и Delphi.сортировка в DBGrid Katrina2012 Помощь студентам 0 10.04.2012 19:00
сортировка массива посредством выбора из дерева Катяя Помощь студентам 0 13.06.2011 16:41
Сортировка двумерного массива посредством выбора. Troy Общие вопросы C/C++ 1 29.12.2009 09:07
сортировка в ADO Access eisenheim БД в Delphi 2 26.09.2009 12:06