Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Внизвыборка по дате Найти похожие ветки
← →
V.I.P © (2006-11-07 11:38) [0]Есть в таблице поле формата Date
и есть соотв TDateTimePicker 2 штуки. Надо выбрать из таблицы строки с датой в промежутке от и до. делаю через фильтр, кинул Ttable, Filtered:=true;
procedure TForm6.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
Accept := DataSet.FieldByName("Date").AsDateTime>datetimepicker1.DateTime;
end;
почему не пашет не знаю, никогда с этим не работал :(
при нажати на кнопку, которая Table1.active:=true; вылетает ошибка:
....."" - is not a valid date and time
← →
Desdechado © (2006-11-07 11:41) [1]в поле, небось, NULL затесалось?
← →
V.I.P © (2006-11-07 11:43) [2]скорее всего, как быть?
← →
Anatoly Podgoretsky © (2006-11-07 11:52) [3]Наверно система правду говорит.
← →
Desdechado © (2006-11-07 11:56) [4]Date - слишком стремное название для поля, ибо это зарезервированное слово
а нулл обойти - проверить на IsNull
← →
ЮЮ © (2006-11-07 12:05) [5]Accept :=
not DataSet.FieldByName("Date").IsEmpty and
(DataSet.FieldByName("Date").AsDateTime>datetimepicker1.DateTime);
← →
V.I.P © (2006-11-07 12:07) [6]
> ЮЮ © (07.11.06 12:05) [5]
> Accept :=
> not DataSet.FieldByName("Date").IsEmpty and
> (DataSet.FieldByName("Date").AsDateTime>datetimepicker1.
> DateTime);
Accept :=
not DataSet.FieldByName("Date").IsNull and
(DataSet.FieldByName("Date").AsDateTime>datetimepicker1.DateTime);
end;
тоже самое
Desdechado
и что тогда делать?
← →
ASoft (2006-11-07 12:16) [7]а запросом не пробовал? тем более, что в сабже звучит >Надо выбрать из таблицы строки с датой в промежутке от и до...
← →
ЮЮ © (2006-11-07 12:25) [8]
> тоже самое
Может тип поля и не Date? Кстати, зачем имя поля и его тип одинаково называются?
Да и ошибка может не из-за этой строки вылазить. Отключи Filter для начала и пробеги по записи с пустым полем. Это может и другой компонент/обработчик глючить
← →
V.I.P © (2006-11-07 12:48) [9]ЮЮ
проверил тип date, название переименовал в Date_cr
← →
Desdechado © (2006-11-07 13:11) [10]datetimepicker1.DateTime - может, здесь пусто?
← →
V.I.P © (2006-11-07 13:55) [11]Desdechado
нет если я так напишу - Accept := DataSet.FieldByName("Date").AsDateTime=1;
то таже ошибка, во всех строках Бд дата проставлена. Мне подсказали что проблема со временем. мне надо выборка только по дате
← →
Desdechado © (2006-11-07 14:04) [12]> мне надо выборка только по дате
.AsDate и .Date
← →
Anatoly Podgoretsky © (2006-11-07 14:30) [13]> V.I.P (07.11.2006 13:55:11) [11]
> DataSet.FieldByName("Date").AsDateTime=1;
Это означет, что поле "Date" не привести к типу TDateTime
← →
Anatoly Podgoretsky © (2006-11-07 14:33) [14]> Desdechado (07.11.2006 14:04:12) [12]
> .AsDate
Это не влияет на ошибку is not a valid date and time
Ошибка означает, что левую часть не перевести в TDateTime (Double)
← →
V.I.P © (2006-11-07 22:08) [15]
> Desdechado © (07.11.06 14:04) [12]
> > мне надо выборка только по дате
> .AsDate и .Date
.AsDate нету такого
Anatoly Podgoretsky ©
и как быть?
← →
ЮЮ © (2006-11-08 03:50) [16]Ну а если просто
Accept := true;
ошибка продолжает появляться? Значит ошибка возникает не здесь. Для ловли багов пора использовать отладчик.
← →
V.I.P © (2006-11-08 19:24) [17]выборку сделал, спасибо
← →
ЮЮ © (2006-11-09 03:40) [18]
> выборку сделал, спасибо
И как, интересно, если все предложенное не помогало?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.052 c