![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в DBGrid сделать сортировку по клику на названию колонки [D7, Access]
Gawk © (2003-10-10 12:10:00)
Здравствуй уважаемый ALL
Подскажите как в DBGRid сделать сортировку по клику на названию колонки
Gawk (2003-10-10 16:51:00) [1]
Reindeer Moss Eater © [20]
Действительно так
Попробомал через промежуточную переменную - работает
Спасибо.
Arm79 (2003-10-10 16:48:00) [2]
Точно. Не обратил внимание. Каюсь :(
dmtr (2003-10-10 16:47:00) [3]
> Arm79 © (10.10.03 16:44) [29]
Смотри Reindeer Moss Eater © (10.10.03 16:37) [20]
Только в 6-й строчке происходит обращение к на тот момент уже несуществующему Column
Reindeer Moss Eater (2003-10-10 16:46:00) [4]
А с какой радости в 6?
С такой, что там попытка обращения к свойству уже убитого экземпляра колонки грида
Arm79 (2003-10-10 16:44:00) [5]
> Но тогда ошибка выдавалась бы не в 6 строке, а во второй.
>
> С какой радости?
А с какой радости в 6?
А если попробовать в предыдущей order-у строке в конце поставить ";"
Плохиш_ (2003-10-10 16:43:00) [6]
>Gawk_ (10.10.03 16:40) [23]
>Arm79 © (10.10.03 16:40) [24]
Моя твоя не понимайт? :-)
Reindeer Moss Eater © всё уже разжевал, осталось только проглотить
sniknik (2003-10-10 16:42:00) [7]
если используется ADO то зачем делать перезапрос? используй свойство Sort.
Reindeer Moss Eater (2003-10-10 16:42:00) [8]
Gawk_ смотри [20]
Reindeer Moss Eater (2003-10-10 16:41:00) [9]
Но тогда ошибка выдавалась бы не в 6 строке, а во второй.
С какой радости?
Arm79 (2003-10-10 16:40:00) [10]
Но тогда ошибка выдавалась бы не в 6 строке, а во второй. Тем более, что раз Query закрыт, то никакой работы с колумн не производится. Может быть, в гриде вручную выделены 3(?) столбца с конкретными именами полей, которые пропадают?
Gawk_ (2003-10-10 16:40:00) [11]
Я знаю что с кодом [6] не связано там вроде всё правильно
Но когда убираю эту строчку всё работает
dmtr (2003-10-10 16:39:00) [12]
> Reindeer Moss Eater © (10.10.03 16:37) [20]
Согласен.
dmtr (2003-10-10 16:38:00) [13]
> Arm79 © (10.10.03 16:35) [19]
Поясни, ты отстаиваешь свое мнение или Reindeer Moss Eater © (10.10.03 16:21) [13]?
Reindeer Moss Eater (2003-10-10 16:37:00) [14]
До выполнения SQL дело не доходит вообще.
procedure TForm20.DBGrid1TitleClick( Column: TColumn);
begin
ADOQuery1.Close;
После этого Column указывает в космос, а не на экземпляр TColumn.
Это если нет статических TField. А их нет по всей видимости.
И Column.FieldName приводит к AV
Arm79 (2003-10-10 16:35:00) [15]
По-моему та самая.
dmtr (2003-10-10 16:34:00) [16]
> Reindeer Moss Eater © (10.10.03 16:21) [13]
Да, но строка ошибки другая
Arm79 (2003-10-10 16:32:00) [17]
where MB.ID=CPU.ID and VIDEO.ID=CPU. IDorderby CPU.
Из текста получается так
dmtr (2003-10-10 16:32:00) [18]
> Arm79 © (10.10.03 16:27) [14]
Я тоже так думал, но при этом возникла бы SQL-ошибка, а не AV
Reindeer Moss Eater (2003-10-10 16:29:00) [19]
Причем здесь пробел-то?
Arm79 (2003-10-10 16:27:00) [20]
> ADOQuery1.SQL.Add("where MB.ID=CPU.ID and VIDEO.ID=CPU.I D");
> (о)ADOQuery1.SQL.Add("order by CPU."+Column.FieldName);
А пробел?