Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: CL | DM;

Вниз

Установить фильтр для ADOQuery   Найти похожие ветки 

 
french_cat ©   (2008-06-04 12:15) [0]

Здравствуйте, подскажите, пожалуйста, решение такой задачки. 3 таблицы подключены к отдельному ДатаСурсу, которые юзают один АДОКвери, нужно для каждой таблицы в датасете установить свой фильтр, что-то типо того:

DBGridEh1.DataSource.DataSet.Filter:= "summ<>0";
DBGridEh2.DataSource.DataSet.Filter:= "summ=0 and perc=0";
DBGridEh3.DataSource.DataSet.Filter:= "perc=100";

чтобы один и тот же запрос для каждой таблицы выводил только нужные значения. Но если написать так, то для всех таблиц срабатывает каждый фильтр. Подскажите, плиз, что делать


 
Ega23 ©   (2008-06-04 12:21) [1]

3 дата сета, 3 дата соурса, 3 грида.
3 выстрела - 3 трупа.


 
french_cat ©   (2008-06-04 12:25) [2]

дата сет один


 
Ega23 ©   (2008-06-04 12:41) [3]


> дата сет один


дата сета - 3.
One shot - three kill - не получится.


 
french_cat ©   (2008-06-04 12:53) [4]

Так я не поняла, что, ситуация безвыходная? ((((


 
Ega23 ©   (2008-06-04 13:03) [5]


> Так я не поняла, что, ситуация безвыходная? ((((


В том виде, в котором ты ставишь задачу (1 датасет, 1 датасорс, 3 дбгрида) - да, безвыходная.


 
Плохиш ©   (2008-06-04 13:10) [6]


> french_cat ©   (04.06.08 12:53) [4]
> Так я не поняла, что, ситуация безвыходная?

Можешь ты одновременно находиться в трёх магазинах в разных частях города?


 
french_cat ©   (2008-06-04 13:18) [7]

Хорошо, тогда может подскажите как поставить задачу, чтобы одним селектом заполнить 3 таблицы (но данные для них регулируются фильтрами)


 
Ega23 ©   (2008-06-04 13:23) [8]

var
 ss : string;
begin
 ss := "Select ... from ... where ...";

 with ADODataSet1 do
 begin
   CommandText := ss;
   Open;
 end;
 
 with ADODataSet2 do
 begin
   CommandText := ss;
   Open;
 end;

 with ADODataSet3 do
 begin
   CommandText := ss;
   Open;
 end;

end;


 
Sergey13 ©   (2008-06-04 13:29) [9]

> [7] french_cat ©   (04.06.08 13:18)
> одним селектом заполнить 3 таблицы

Это вообще из области фантастики. 8-))))))))))
Селект ничего не заполняет.


 
french_cat ©   (2008-06-04 13:37) [10]

не стоит придираться к словам, смысл, я думаю, понятен


 
Sergey13 ©   (2008-06-04 13:44) [11]

> [10] french_cat ©   (04.06.08 13:37)
> смысл, я думаю, понятен

Как раз таки нет. Чего надо то? Како смысл именно ОДНИМ селектом заполнить чего-то там ТРИ? Почему именно фильтрами что-то регулируется, если используется SQL? Экономишь на компонентах?


 
Anatoly Podgoretsky ©   (2008-06-04 14:13) [12]

> french_cat  (04.06.2008 13:37:10)  [10]

Смысл понятен, но он бессмысленен, делай три запроса и каждый со своим условием отбора, а фильтр на свалку.
Есть сложные методы, это уход в сторону с ADO.VCL на чистое ADO функция Clone, но тебе и рано и задачу лучше решить вышеуказаным способом.


 
MsGuns ©   (2008-06-04 15:53) [13]

Использовать клоны датасета



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

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1226584238
Riply
2008-11-13 16:50
2009.01.11
ТВ каналы на компьютере.


15-1226665932
Dmitry S
2008-11-14 15:32
2009.01.11
Книга по Flash ActiveScript 3.0


2-1227969557
crazy_student
2008-11-29 17:39
2009.01.11
Задача по работе с массивами


2-1227707840
ekto
2008-11-26 16:57
2009.01.11
cxDBGrid


15-1226603097
Дмитрий С
2008-11-13 22:04
2009.01.11
Скиномания