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

Вниз

как открыть Query12 - Query31   Найти похожие ветки 

 
Кирей   (2006-08-03 10:30) [0]

Как открыть в цикле запросы Query12-31
типа:
for i:=12 to 31 do
begin
Query(i).open;
end;


 
Stakan ©   (2006-08-03 10:45) [1]

procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 for i := 12 to 31 do
 begin
   with TQuery(FindComponent("Query" + IntToStr(i)) do
   begin
     if Active then
       Close;
     Open;
   end;
 end;
end;


 
Palladin ©   (2006-08-03 10:46) [2]

Var
c:TQuery;

For i:=12 to 31 Do
Begin
 c:=FindComponent("Query"+IntToStr(i));
 If c<>Nil Then c.Open;
End;


 
Ega23 ©   (2006-08-03 10:46) [3]

var
i, cnt:Integer;
begin
 cnt:=12;
 While (cnt<=31) do
   begin
     for i:=0 to ComponentCount-1 do
       if (Components[i] is TQuery) then
         if ANSIUpperCase(TQuery(Components[i]).Name)="QUERY"+IntToStr(cnt) then
           begin
             TQuery(Components[i]).Open;
             Break;
           end;
     Inc(cnt);
   end;
end;


 
Кирей   (2006-08-03 10:48) [4]

Круто, не ожидал, всем спасибо


 
Sergey13 ©   (2006-08-03 11:09) [5]

> [0] Кирей   (03.08.06 10:30)

Такой подход часто говорит о непродуманности проекта.


 
Ega23 ©   (2006-08-03 11:14) [6]

Кстати, можно у Query12-Query31 выставить Tag одинаковый, и потом по нему искать.


 
Palladin ©   (2006-08-03 11:16) [7]

Зачем? Завести массив и в OnCreate формы заполнить его нужными Query будет вполне достаточно.


 
Desdechado ©   (2006-08-03 11:17) [8]

А меня мучает вопрос - что можно делать с таким количеством запросов одновременно?


 
Palladin ©   (2006-08-03 11:20) [9]

:) Ну например обратно закрыть.


 
Ega23 ©   (2006-08-03 11:23) [10]


> А меня мучает вопрос - что можно делать с таким количеством
> запросов одновременно?


Ну, например, для LookupCombo - фильтрация основного. Где-то у меня такое было, когда параметров основной выборки просто дофигищща.
Другое дело, что именовать Query12-Query31 как-то не по-людски...


 
Sergey13 ©   (2006-08-03 11:26) [11]

> [8] Desdechado ©   (03.08.06 11:17)

А меня мучают подозрения, что автор просто не умеет получить несколько значений одним запросом (например через IN).


 
Кирей   (2006-08-03 12:21) [12]


> А меня мучают подозрения, что автор просто не умеет получить
> несколько значений одним запросом (например через IN).

Не тот случай, одним запросом не выходит, нужная выборка не получается ни с помощью вложенных запросов, ни группировкой.
Мне нужно было выбрать и поместить в дбгрид:
-----------------------------------------------------------------------------
диаметр | всего м.| низкого давления| высокого давления| и т.д
-----------------------------------------------------------------------------
25
30
...
Все это выбирается из одной таблицы, в которой поля:
Диаметр
Длинна
Давление (просто указывается давление, а запросы уже выбирают низкое, высокое)
...(в остальных полях тоже ставится только значение, а в результирующий запрос заносится результат выборки по определенным условям)


 
StriderMan ©   (2006-08-03 13:04) [13]

а параметры запроса не помогут?

и как ты все результаты запросов поместишь в один ДБгрид?


 
Sergey13 ©   (2006-08-03 13:15) [14]

> [12] Кирей   (03.08.06 12:21)

"не выходит" и "не получается" не значит нельзя. Я не утверждаю, что можно, из твоего "описания" задачи это непонятно.


 
Desdechado ©   (2006-08-03 14:00) [15]

Отчеты удобно делать хранимыми процедурами.



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

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

Наверх




Память: 0.5 MB
Время: 0.041 c
2-1154344302
Nik2006
2006-07-31 15:11
2006.08.20
Одновременное использование файла


3-1150401719
keymaster
2006-06-16 00:01
2006.08.20
Детский вопрос


3-1150363571
Pe+erBuild
2006-06-15 13:26
2006.08.20
Фиксированые поля


15-1153674811
lookin
2006-07-23 21:13
2006.08.20
Как появляются НЛО: почти на примере...


3-1150133766
kaif
2006-06-12 21:36
2006.08.20
Обрезание имен UTF-8 при добавлении юзера в IBSecurityService