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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2013, 12:20   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию Не получается сделать поиск по дате и в интервале дат.

Имеется база в акцесе base с полем Дата_записи тип Дата/время. Нужно найти все записи в базе по полю Дата_записи. Дата выбирается с DateTimePicker1. Интервал дат DateTimePicker1 и DateTimePicker2.
Поиск
Код:
ADOQuery1.Active:=false;
   ADOQuery1.SQL.Clear;
 // ADOQuery1.SQL.Text := 'select * from base' +
 //   ' where Дата_записи=' +quotedstr(RzEdit1.Text);

   ADOQuery1.SQL.Text := 'select * from base' +
    ' where Дата_записи=' +DateToStr(DateTimePicker1.Date);

   ADOQuery1.Open;
Интервал дат
Код:
ADOQuery1.Active:=false;
   ADOQuery1.SQL.Clear;
 // ADOQuery1.SQL.Text := 'select * from base' +
 //   ' where Дата_записи=' +quotedstr(RzEdit1.Text);

   ADOQuery1.SQL.Text := 'select * from base' +
    ' where Дата_записи>=' +DateToStr(DateTimePicker1.Date) and  ' Дата_записи<=' +DateToStr(DateTimePicker2.Date);

   ADOQuery1.Open;
Aleksandr вне форума Ответить с цитированием
Старый 11.03.2013, 12:51   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А так?

Код:
   ADOQuery1.SQL.Text := 'select * from base' +
    ' where [Дата_записи]=' +quotedstr(DateToStr(DateTimePicker1.Date));
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 11.03.2013, 12:58   #3
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Не получается выдает ошибку.
Изображения
Тип файла: jpg ошибка.jpg (30.3 Кб, 67 просмотров)
Aleksandr вне форума Ответить с цитированием
Старый 11.03.2013, 13:00   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Дата_записи какой формат имеет? Если дата-время, то

Код:
var  d1,d2: TDateTime;

  ADOQuery1.SQL.Text := 'select * from base where Дата_записи BETWEEN :date1 AND :date2';
  d1:=Trunc(DateTimePicker1.Date);
  d2:=Trunc(DateTimePicker2.Date);
  ADOQuery1.Parameters.ParamByName('date1').Value:=d1;
  ADOQuery1.Parameters.ParamByName('date2').Value:=d2;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.03.2013, 13:03   #5
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Аватар спасибо получилось.
Aleksandr вне форума Ответить с цитированием
Старый 11.03.2013, 21:42   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Дата_записи какой формат имеет? Если дата-время, то
Ну да, точно... я про формат как-то забыл Но имя поля все-равно лучше в [] взять, так как это акцесс и название по-русски оформлено.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить ячейки датами в выбранном интервале дат tgm Microsoft Office Excel 5 01.03.2016 11:38
Поиск подряд идущих дат Raz0r SQL, базы данных 10 28.10.2012 21:52
Рекурсивный поиск файлов в интервале дат(без времени,только день,месяц и год)) AlexKhol Общие вопросы Delphi 3 04.02.2012 16:15
Не получается сортировать по дате. Volodq БД в Delphi 7 26.05.2011 07:29
Поиск по дате-? Evgenii БД в Delphi 15 12.11.2009 16:46