Конференция "Базы" » Сортировка полей в формате Дата/время [D7]
 
  • andrey-alekceevich (12.03.11 16:13) [0]
    Подскажите пожалуйста как сделать сортировку полей в формате дата/время. Я создал базу данных Accsess, из Delphi сделал подключение через ADO. Есть поля в формате дата/время. Пытаюсь сделать сортировку слудующим образом: DataModule2.ADOTable1.Sort:= 'Дата выхода ASC';
    выскакивает такая ошибка: Project Project1.exe raised exception class EOleException with message 'Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом'.Process stopped. Use Step or Run to coneinue. Подскажите пожалуйста,что я делаю не правильно. За ранее прошу строго не судить, я только учусь.
  • clickmaker © (12.03.11 16:22) [1]
    поле так и называется 'Дата выхода'?
    может, так '[Дата выхода] ASC'
  • stas © (12.03.11 16:23) [2]
    Для начала замените AdoTable на
    1. AdoDataSet
    потом впишите в свойство CommandText  запрос
    2. CommandText = Select * from myTable order by myField
    myField поле по которому сортируем, myTable имя таблицы.
  • andrey-alekceevich (12.03.11 16:37) [3]
    Большое спасибо за подсказку с квадратными скобками. Заработало!!! Правда я не понял их значения. Может подскажете?
  • andrey-alekceevich (12.03.11 16:41) [4]
    такая же ошибка происходит если я пытаюсь сделать фильтрацию: DataModule2.ADOTable1.Filter:= 'Дата выхода'''+Edit2.Text+''''; подскажите пожалуйста, как здесь поступить?
  • andrey-alekceevich (12.03.11 16:44) [5]
    DataModule2.ADOTable1.Filter:= 'Дата выхода'''=+Edit2.Text+''''; Извиняюсь забыл поставить знак =
  • sniknik © (12.03.11 16:55) [6]
    > Извиняюсь забыл поставить знак =
    это меньшая из проблем

    > DataModule2.ADOTable1.Filter:=
    -
    > Для начала замените AdoTable на
    > 1. AdoDataSet
    а потом не используй Filter для отбора...
  • clickmaker © (12.03.11 17:01) [7]
    > Правда я не понял их значения. Может подскажете?

    если имя поля содержит пробелы или другие разделители, то надо как-то намекнуть парсеру, что это одно поле, а не два.
    Так же и с фильтром
  • andrey-alekceevich (12.03.11 17:04) [8]
    Да, но фильтрация работает для текстовых полей: DataModule2.ADOTable1.Filter:= 'Автор='''+Edit1.Text+'''', а для полей дата/время не работает. получается здесь без sql запросов не обойтись?
  • andrey-alekceevich (12.03.11 17:07) [9]
    спасибо clickmaker ©!!! с квадратными скобками вроде разобрался.
  • sniknik © (12.03.11 19:02) [10]
    > получается здесь без sql запросов не обойтись?
    не получается. можно и обойтись, но не раньше чем последуешь предыдущим советам.
  • Anatoly Podgoretsky © (12.03.11 23:13) [11]
    > andrey-alekceevich  (12.03.2011 17:04:08)  [8]

    А зачем без них обходиться?
  • andrey-alekceevich (13.03.11 00:10) [12]
    ясно. спасибо за помощь всем мастерам!
  • Бота © (02.06.13 18:22) [13]
    Всем привет! Люди добрые очень нужна ваша помощь..у меня в форме есть dbgrid,datasource,adotable..Хочу замутить так, чтобы БД данных сортировалась по дате создания записи. Вот только не знаю как. Подскажите пожалуйста. Просьба поточнее.
  • Бота © (02.06.13 18:23) [14]
    Всем привет! Люди добрые очень нужна ваша помощь..у меня в форме есть dbgrid,datasource,adotable..Хочу замутить так, чтобы БД данных сортировалась по дате создания записи. Вот только не знаю как. Подскажите пожалуйста. Просьба поточнее.
  • Бота © (02.06.13 18:24) [15]
    Всем привет! Люди добрые очень нужна ваша помощь..у меня в форме есть dbgrid,datasource,adotable..Хочу замутить так, чтобы БД данных сортировалась по дате создания записи. Вот только не знаю как. Подскажите пожалуйста. Просьба поточнее.
 
Конференция "Базы" » Сортировка полей в формате Дата/время [D7]
Есть новые Нет новых   [119593   +122][b:0][p:0.001]