Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация данных! [D5, dBase, FoxPro, Paradox]


Merlot ©   (2003-06-02 15:43:00) 

Всем привет!
Подскажите пожалуйста, как мне программно поставить фильтр на поле с датами. Пытаюсь сделать Table.Filter:="dh1="01.01.2003"";-ругается.
Подскажите как правильно составить?


Kirill_S   (2003-06-02 17:24:00) [1]

Огромное спасибо, все работает!


Соловьев   (2003-06-02 17:13:00) [2]

event есть такой у Table. Кликаешь в Object Inspector на нем дважды.


Kirill_S   (2003-06-02 17:09:00) [3]

.....
Accept := Table1.FieldByName("Submitted").AsDateTime = Now;
Table1.OnFilterRecord(DataSource1.DataSet, Accept);
end;

при выполнении : Access violation at address 00000000. Read of address 00000000.


Соловьев   (2003-06-02 16:59:00) [4]

Table.OnFilterRecord


Kirill_S   (2003-06-02 16:57:00) [5]

> Соловьев ©,

procedure TForm1.Button1Click(Sender: TObject);
type TFilterRecordEvent = procedure(DataSet: TDataSet; var Accept: Boolean) of object;
var
Accept: Boolean;
.......
begin
Table1.Filtered:=true;
Accept := Table1.FieldByName("Submitted").AsDateTime = Now;
end;

правильно, или еще что-то нужно прописывать? таким образом не работает...


Соловьев   (2003-06-02 16:45:00) [6]

...
Accept := DataSet.FieldByName("Submitted").AsDateTime = Now;
...


Kirill_S   (2003-06-02 16:42:00) [7]

> Соловьев ©,

поле Submitted - TDateTimeField .

с OnFilterRecord пробовал, но что-то неудачно, хотя может и неправильно делал, можешь примерчик подкинуть?


Mike Kouzmine   (2003-06-02 16:30:00) [8]

Значит с датой надо работать по другому. Как не подскажу.


Соловьев   (2003-06-02 16:29:00) [9]


> Kirill_S © (02.06.03 16:14

а поле Submitted точно date?
а если использовать OnFilterRecord?


Sandman25   (2003-06-02 16:29:00) [10]

ShortDateFormat := "dd.mm.yy";


Kirill_S   (2003-06-02 16:27:00) [11]

to Mike Kouzmine,

база DBISAM

главное, что другие поля нормально фильтруются (строковые) проблема только с датой:(


Mike Kouzmine   (2003-06-02 16:16:00) [12]

И тоже парадокс, дбейз или фокс?


Kirill_S   (2003-06-02 16:14:00) [13]

Господа, таже проблема!!!

Варианты :
Table1.Filter:="Submitted=" + QuotedStr(DateToStr(Dmin));
или
Table1.Filter:="Submitted="+#39+"21.04.03"+#39;

при выполнении возникает ошибка: ... - Date, time, or timestamp expression expected, instead found "21.04.03" in filter expression.

Помогите, кто знает!


Mike Kouzmine   (2003-06-02 15:57:00) [14]

Table.Filter:="dh1=" + QuotedStr(DateToStr(Dat));


Stas   (2003-06-02 15:55:00) [15]

Я вообще запарился вот так : Table.Filter:="dh1="+#39+"01.01.2003"+#39


Stas   (2003-06-02 15:49:00) [16]

Или вот так Table.Filter:="dh1="+#39+01.01.2003+#39


Stas   (2003-06-02 15:48:00) [17]

Дату нужно тоже взять в кавычки
Table.Filter:="dh1=01.01.2003"


Наверх

Титульная страница Поиск, карта сайта Написать письмо