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

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

Фильтрация при открытии формы [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.


Наверх

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