Цитата:
Сообщение от 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);