![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтрация при открытии формы [D7, Access2003]
Kley © (2007-04-05 20:42:00)Здравствуйте подскажите плиз
у меня на форме DBGridEh c данными из таблицы
Prihod в которой 5000 записей и два DateEdit
необходимо чтобы при открытии формы дынные фильтровались
следующим образом
datamodule1.PrihodTable.Close;
Datamodule1.PrihodTable.SQL.Clear;
Datamodule1.PrihodTable.SQL.Add('select *');
Datamodule1.PrihodTable.SQL.Add('from prihodz WHERE DATEX between :D2 AND :D3 and ACTIONX=2');
datamodule1.PrihodTable.Parameters.ParamByName('D2').Value:=form2.sdateedit3.Dat e;
datamodule1.PrihodTable.Parameters.ParamByName('D3').Value:=form2.sdateedit4.Dat e;
datamodule1.PrihodTable.Open;
вешаю этот код на событие OnActivate, форма открывается секунд 20 пользователи не довольны.
Присоветуйте как лучше сделать чтобы форма открывалась быстрее и происходила фильтрация по dateEditam
MsGuns (2007-04-11 21:05:00) [1]Выкинуть из палитры компонент TADOTable - жить сразу станет легче
Jan1 (2007-04-06 11:08:00) [2]
> Datamodule1.PrihodTable.SQL.Clear;
> Datamodule1.PrihodTable.SQL.Add('select *');
> Datamodule1.PrihodTable.SQL.Add('from prihodz WHERE DATEX
> between :D2 AND :D3 and ACTIONX=2');
лишнее, лучше один раз подготовить запрос, а потом менять только параметры. ну и конечно [1] и [2]!
Desdechado (2007-04-06 10:53:00) [3]> чтобы при открытии формы дынные фильтровались
> вешаю этот код на событие OnActivate,
Противоречие, однако. Ты бы хоть почитал справку на предмет разницы OnShow и OnActivate. OnActivate срабатывает всякий раз, когда ты переключаешься на эту форму.
Sergey13 (2007-04-06 08:40:00) [4]Для 5000 многовато по любому. Но попробуй индекс сделать на DATEX, возможно +ACTIONX.