IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> сортировка данных-?
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 205
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


В таблице необходимо отсортировать данные по дате таким образом:
31.11.2002
02.07.2003
12.01.2004
07.12.2005
20.05.2006
использовал следующий код:
procedure TForm1.N8Click(Sender: TObject);
begin
DataModule1.BookTable.IndexFieldNames:= 'Дата';
end;
но он сортирует данные в таком порядке:
02.07.2003
07.12,2005
12.01.2004
20.05.2006
31.11.2002
т.е. сортировка происходит по первым числам а не по фактической величине даты. Пробовал таким образом:
procedure TForm1.N8Click(Sender: TObject);
begin
DataModule1.BookTable.sort:= 'Дата';
end;
но результат тот же самый. Подскажите, как правильно отсортировать данные по дате как описано выше
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Во-первых, не надо делать несколько условий. Дельфи позволяет всегда объединить их в одно. А во-вторых, Приводи обе сравниваемые строки к одному регистру, и сравнивай. Итого:

  Accept :=
(Edit1.Focused and (Pos(Edit1.Text, DataSet.FieldByName('DateOfBirth').AsString) > 0))
or
(Edit2.Focused and (Pos(AnsiLowerCase(Edit2.Text), AnsiLowerCase(DataSet.FieldByName('Names').AsString)) > 0));


Можешь использовать AnsiUpperCase вместо ...Lower...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(volvo @ 6.11.2009 9:40) *

Во-первых, не надо делать несколько условий. Дельфи позволяет всегда объединить их в одно.
Ну, во-первых, не Делфи, а алгебра логики. Делфи просто поддерживает правила, принятые в этой математической дисциплине.
А во-вторых, тезис об объединении условий не может быть принят как универсальная рекомендация. В данном конкретном случае это оправдано, но внутри вложенного цикла я бы порекомендовал, наоборот, разделять условия, ставя в начало те, которые чаще всего НЕ будут выполняться (если их вычисление сравнимо по ресурсоемкости). Правильная компоновка условий может в отдельных случаях привести к экономии времени выполнения в тысячи раз.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
1147   сортировка данных-?   2.11.2009 21:15
volvo   Зачем тебе сортировать данные в таблице, если можн…   2.11.2009 21:25
1147   данные в таблице нужно сортировать по дате в том с…   2.11.2009 21:32
volvo   Вот поэтому и не работает ... Данные из поля …   2.11.2009 21:42
1147   Можно по-подробней про сортировку отображения данн…   2.11.2009 22:55
volvo   На форме лежит ADOQuery1, в поле SQL которой пропи…   3.11.2009 2:34
1147   После заполнения поля SQL - "SELECT * from ta…   3.11.2009 3:08
volvo   Я надеюсь, ты вводишь запрос БЕЗ кавычек?   3.11.2009 3:22
1147   :no1: :no1: (наверное такой ответ может ввести в…   3.11.2009 3:31
volvo   Хочешь - пользуйся кнопками. Мне удобнее повесить …   3.11.2009 4:04
1147   после изменения типа "Дата" с widestring…   6.11.2009 5:21
volvo   Естественно... LIKE работает именно с текстом, с д…   6.11.2009 6:16
1147   :mega_chok: Спасибо!!   6.11.2009 6:42
1147   :) чтото я заметил что такой поиск по дате лишил м…   6.11.2009 8:45
volvo   Во-первых, не надо делать несколько условий. Дельф…   6.11.2009 13:40
andriano   Во-первых, не надо делать несколько условий. Дель…   6.11.2009 14:51
volvo   А в третьих, разницу между тем, что процитировал т…   6.11.2009 15:01
andriano   Так что каждый случай разбирается отдельно.Ну имен…   6.11.2009 15:22
1147   Нет ли каких-нибудь других вариантов? С поиском т…   6.11.2009 20:36
volvo   Опять начинается то же самое... Это не из-за новов…   6.11.2009 21:45
1147   а можно всетаки использовать Edit для поиска даты …   8.11.2009 23:43
volvo   Попробуй составить в Access-е SQL-запрос, который …   9.11.2009 0:52


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.06.2024 20:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name