|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сортировка по Дате...
Добрый день. Не судите строго я всего учусь.
Вопрос в следующем: Имеется база данных Access связана она с DBGrid через ADOTable, с этим вопросов нет. Проблема в следующем. Требуется выполнить сортировку по дате. У меня имеется в таблице поле 'Дата', я поместил на форму компонент DateTimePicker выполнил сортировку используя данный код: form8.ADOTable1.Filter:='Дата >= '+ '''' + DatetoStr(DateTimePicker1.Date)+ ''''; но как видно по коду, выбираются все даты выше указанной в компоненте DataTimePicker. У меня не получается выполнить сортировку периода т.е с такого по такое число. Помещаю ещё один компонент DataTimePicker2(по какое число) и все ступор не понимаю как закончить код,помогите пожалуйста.! За ранее спасибо! |
#2
|
|||
|
|||
Так сортировку или фильтрацию?
Если фильтрацию, то так: Код:
form8.ADOTable1.Filter:='Дата >= '+ '''' + DatetoStr(DateTimePicker1.Date)+ ''' AND Дата <= ''' + DatetoStr(DateTimePicker2.Date) + ''''; А сортировка делается с помощью дописывания к запросу конструкции вида: Код:
ORDER BY Дата Кстати, и фильтрацию можно "утащить" на сервер, используя предложение WHERE. |
#3
|
|||
|
|||
Спасибо большое, все работает. Извените не могли бы вы обьяснить принцип действия множественных кавычек,( Извеняюсь за тупость в Архангельском не нашел) честно сказать, я впервые сталкиваюсь с такими записями. Немного не понимаю их смысла. Ведь по сути они обозначают совсем другое. '''= экранно это одинарная. Т.е.''' AND Дата <= ''' взяты в одинарные. ''''= только предположения - ''''+'aa'+''''+'bb'+''''+'cc'+''''='aa'bb'cc'. Я правильно понимаю.?
|
#4
|
||||
|
||||
Дело в том, что символ ' зарезервирован в дельфи для обрамления строк. Поэтому все, что идет между символами ' ' считается как строка и не разбирается компилятором, но как-то же надо все-же позволить использовать пользователю символ ' для своих нужд. Вот и придумана такая комбинация - два подряд идущих символа ' внутри строки считать пользовательскими и при выводе заменять их на один '. Поэтому если написать такой код:
Код:
Write('''') Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |