Вниз
Скачать: CL | DM;

Фильтр на базу   Найти похожие ветки 

← →
ArtemB ©   (2003-05-07 09:26) [0]

Подскажите как сделать следующее:

Бызa dbf, у которой есть среди прочих поле даты Date (dd/mm/yy).
Есть компонент DateTime в котором стоит Long Format на показ только месяца и года.

Теперь задача: выбрать (фильтр наложить) из таблицы те записи, для которых поле Date удовлетворяет выбранному DateTime
(т.е. нужно вывести данные за такой то месяц такого то года... не важно какое число месяца)

Подскажите как сделать.... Спасибо


← →
Johnmen ©   (2003-05-07 09:31) [1]

OnFilterRecord


← →
snake1977   (2003-05-07 09:33) [2]

Например так

cost st:Char="""";
Var Table:TTable;
d:TDateTime;
.....

Table.Filter:="Date="+st+DateToStr(D)+st;
Table.Filtered:=True;
....


← →
snake1977   (2003-05-07 09:41) [3]

пардон, ошибся, если надо за месяц, то тогда так
cost st:Char="""";
Var Table:TTable;
d:TDateTime;
yy,mm,dd:Word;
......
DecodeDate(d,yy,mm,dd);
Table.Filter="Date>="+st+"01"+"."+IntToStr(mm)+"."+IntToStr(yy)+st+" and Date<="+st+"30"+"."+IntToStr(mm)+"."+IntToStr(yy)+st;
Table.filtered:=True;
.....

примерно так, но наверняка есть способы поинтереснее, а вообще то прочсе сделать SQL запрос
например
Query.SQL.Append("select t.* from table t where t.Date like "%."+IntTostr(mm)+"."+IntToStr(yy)+""");
и
Query.Open;


← →
Mike Kouzmine ©   (2003-05-07 09:42) [4]

DecodeDate(DateTimePicker1.Date,Y,M,D);
Table.Filter:="Date >= "+ QuotedStr(DateToStr(EncodeDate(Y,M,1))) + "and Date <= " + QuotedStr(DateToStr(EncodeDate(Y,M,DaysInMonth(DateTimePicker1.Date)))
Table.Filtered:=True;


← →
Mike Kouzmine ©   (2003-05-07 09:46) [5]

SQL
select * from Table t
where t."Date" between :DB and DE

DecodeDate(DateTimePicker1.Date,Y,M,D);
Q.Params[0].asDate := EncodeDate(Y,M,1);
Q.Params[1].AsDate := EncodeDate(Y,M,DaysInMonth(DateTimePicker1.Date))
Q.Open


← →
ArtemB ©   (2003-05-07 10:33) [6]

Спасибо :-)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
14-83709
Serg!
2003-05-06 11:39
2003.05.26
SMTP&Поиск сервера


6-83621
kkostik
2003-03-06 16:13
2003.05.26
Подключение сетевого диска!!!!!


14-83674
VEG
2003-05-05 20:46
2003.05.26
PDA


3-83363
prof
2003-05-06 10:02
2003.05.26
Ошибка в запросе


1-83438
Андрей
2003-05-13 08:08
2003.05.26
Как ограничить кол-во одновременно запущенных потоков




   Наверх