Показать сообщение отдельно
  #18  
Старый 11.06.2014, 16:36
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от poison-bla
А можно ли промежуток дат как-то забрать через два DataTimePicker?
Пробовала вот так
Код:
AdoQuery1.SQL.Text := ' WHERE Prodagy.kodmes >= :Date1 AND Prodagy.kodmes < :Date2';
AdoQuery1.Parameters.ParamByName('Date1').Value :=DateTimePicker1.Date;
AdoQuery1.Parameters.ParamByName('Date2').Value := DateTimePicker2.Date;
Но ничего не выходит.
Скорее всего в этих DateTimePicker-ах не "чистая" дата, а дата с "примесью" времени. Т.е. там не Date, а DateTime. Попробуй перед присваиванием вычленить чистую дату функциями Int или Trunc:
Код:
AdoQuery1.SQL.Text := ' WHERE Prodagy.kodmes >= :Date1 AND Prodagy.kodmes < :Date2';
AdoQuery1.Parameters.ParamByName('Date1').Value := Int(DateTimePicker1.Date);
AdoQuery1.Parameters.ParamByName('Date2').Value := Int(DateTimePicker2.Date);

UPD
Минутку. Здесь же нужна не дата, а номер месяца. Тогда нужно использовать функцию MonthOf (или её синоним MonthOfTheYear) из модуля DateUtils:
Код:
uses ....., DateUtils;
.....
AdoQuery1.SQL.Text := ' WHERE Prodagy.kodmes >= :Date1 AND Prodagy.kodmes < :Date2';
AdoQuery1.Parameters.ParamByName('Date1').Value := MonthOf(DateTimePicker1.Date);
AdoQuery1.Parameters.ParamByName('Date2').Value := MonthOf(DateTimePicker2.Date);
Ответить с цитированием