Форум: "Базы";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизФильтрация Найти похожие ветки
← →
GIL (2003-11-05 15:36) [0]помогите, надо отфильтровать бд по дате, так чтобы был без разницы год, но число и месяц из заданного диапазона
← →
Sandman25 (2003-11-05 15:52) [1]OnFilterRecord
← →
GIL (2003-11-05 15:55) [2]а поподробнее?
← →
Sandman25 (2003-11-05 16:01) [3]Обработчик OnFilterRecord, в котором ставить
Accept := true для тех, что надо, и false для тех, что не надо.
Еще можно попытаться использовать Query с where extract(month from mydate) between 1 and 2 and extract(day from mydate) between 25 and 27
← →
GIL (2003-11-05 16:04) [4]а теперь еще один вопросик, как объявлять процедуру фильтрации, чтобы дельфя не ругалась?
← →
DenK_vrtz (2003-11-05 16:11) [5]GIL © (05.11.03 16:04) [4], попросить ее чтоб не ругалась, угостить хорошенько, холить и лелеять
А если серьезно, что значит "объявить процедуру фильтрации"?
Sandman25 © привел исчерпывающий ответ, единственное может про
Filter и Filtered забыл упомянуть.
← →
Sandman25 (2003-11-05 16:13) [6][5] DenK_vrtz © (05.11.03 16:11)
Filter в данном случае не поможет. В нем можно писать только сравнения типа myfield = 12. Извлечь день и месяц не получится.
← →
VAleksey (2003-11-05 16:13) [7]Дабл клик на событии онфильтеррекорд датасета ;-)
← →
DenK_vrtz (2003-11-05 16:15) [8]Sandman25 ©, да ладно.
А через диапазон?
← →
GIL (2003-11-05 16:15) [9]во-во, я уже догадался, кликнул!!, а извлекать все получается!! спасибо
← →
Sandman25 (2003-11-05 16:16) [10][8] DenK_vrtz © (05.11.03 16:15)
myfield >= 10 and myfield <= 15?
Пример фильтра для автора приведите. Я не могу.
← →
Anatoly Podgoretsky (2003-11-05 16:21) [11]Раз идет рчь об диапазоне, то год влияния не оказывает.
Вероятно вопрос неточный.
← →
DenK_vrtz (2003-11-05 16:27) [12]Sandman25 ©, если год не учитывать совсем, то свою поправку снимаю.
← →
GIL (2003-11-05 16:27) [13]короче, я извлекаю день и месяц из значения, и если они подходят, то Accept:=true, но вопрос в другом, как вызвать это событие, а то оно не вызывается!
← →
Anatoly Podgoretsky (2003-11-05 16:31) [14]Не видать как ты это делаешь
← →
GIL (2003-11-05 16:34) [15]With main_T do
begin
Active:=False;
IndexName:="ID_Birth";
Active:=True;
First;
i:=Main_TID_Birth.Value;
Last;
j:=Main_TID_Birth.Value;
SetRangeStart;
Main_TID_Birth.Value:=i;
SetRangeEnd;
Main_TID_Birth.Value:=j;
ApplyRange;
end;
← →
Anatoly Podgoretsky (2003-11-05 16:40) [16]Это отлично работает, выдает все указаные записи
← →
GIL (2003-11-05 16:42) [17]вот именно, что все!! а обработчик OnFilterRecord не вызывается, и получается, что никакой фильтрации нет
← →
Anatoly Podgoretsky (2003-11-05 16:44) [18]Это не фильтр, поэтому ему ни к чему вызывать, а все потому что ты все заказал First/Last
← →
Anatoly Podgoretsky (2003-11-05 16:45) [19]А это "я извлекаю день и месяц" где, не наблюдается
← →
GIL (2003-11-05 16:50) [20]но first\last до условий фильтра!! мне надо проверить все записи!! а насчет "я извлекаю день и месяц"
procedure TForm1.Main_TFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var y,d,m,m1,d1:word;
da:TDate;
begin
Accept:=False;
decodedate(Main_TBirth.Value,y,m,d);
da:=date;
decodeDate(da,y,m1,d1);
DateTimePicker1.DateTime:=Main_TBirth.Value;
DateTimePicker1.Date:=DateTimePicker1.Date+5;
if m<m1 then Accept:=true;
end;
не обращать внимание на смысл, пока он только в том, чтобы хоть что-то фильтровать
← →
Sandman25 (2003-11-05 17:01) [21][20] GIL © (05.11.03 16:50)
Вы хотите сказать, что показываются записи за ноябрь и декабрь?
← →
GIL (2003-11-05 17:05) [22]показываются все записи
← →
GIL (2003-11-05 17:05) [23]как сделать, чтобы вызывалось OnFilterRecord?
← →
Sandman25 (2003-11-05 17:09) [24][22] GIL © (05.11.03 17:05)
Вы хотите сказать, что показываются записи за ноябрь и декабрь?
← →
Anatoly Podgoretsky (2003-11-05 17:10) [25]Приведи значения свойств таблицы
← →
GIL (2003-11-05 17:14) [26]все значения стандартные, умолчальные, кроме индекса, имени таблицы и эктив,
показываются абсолютно все записи, даже если я просто ставлю Active:=False; и нигде не присваиваю ему труэ
← →
Sandman25 (2003-11-05 17:18) [27]Filtered установили в True?
← →
GIL (2003-11-05 17:18) [28]нет
← →
Anatoly Podgoretsky (2003-11-05 17:22) [29]GIL © (05.11.03 17:14) [26]
GIL © (05.11.03 17:18) [28]
Тогда чего ты ожидаешь
← →
GIL (2003-11-05 17:23) [30]спасибо, вроде заработало, просто раньше с таким не сталкивался, про свойство знал, но как-то всегда без него все работало, а тут вдруг!! 8)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.009 c