Вниз
Скачать: CL | DM;

Просмотр нескольких таблиц   Найти похожие ветки 

← →
cad2206   (2004-05-19 10:54) [0]

Ребята, помогите, очень нужно.
Есть несколько таблиц (Paradox), в которых по 2 столбца. Необходимо на форме по нажатию одной кнопки выводить очередную запись из таблицы. Если таблица заканчивается, то переход к следующей и т.д. Жду ответа.


← →
Reindeer Moss Eater ©   (2004-05-19 10:57) [1]

Query1.SQL.Text:=
"select * from table1
union all
select * from table2
....
union all
select * from tableN";


← →
cad2206   (2004-05-19 10:59) [2]

Reindeer Moss Eater: спасибо, но мне нужно это выполнить не запросом SQL, а программно (на уровне begin end)


← →
bushmen ©   (2004-05-19 11:18) [3]

>мне нужно это выполнить не запросом SQL, а программно (на уровне begin end)

В процедуре обработки нажатия на кнопку при выборе формы пишешь, что тебе сказали:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text:=
"select * from table1
union all
select * from table2
....
union all
select * from tableN";
Query1.Open;

В процедуре нажатия кнопки:

begin
Query1.Next;
.... // пишешь вывод данных из Query куда тебе надо
end;


← →
sniknik ©   (2004-05-19 11:22) [4]

запросом проще,
только еще добавить поле
"select 1 AS SelNo, * from table1
union all
select 2, * from table2
....
union all
select N, * from tableN";
и фильтр по SelNo наложить, доходиш до конца/начала - перефитьтровываеш. смотрется будет также как таблицу переключать но попроще в реализации. (имхо конечно)


← →
cad2206   (2004-05-19 11:54) [5]

bushmen ©:
объясни: 1. В процедуре обработки нажатия на кнопку при выборе формы пишешь, что тебе сказали:
        2. В процедуре нажатия кнопки:

Вчем разница?

И зачем в запросе несколько таблиц? Мне нужно последовательно просматривать одну таблицу за другой, и в каждой таблице одну запись за другой. Т.е. нажатием на кнопку, пока очередная таблица не закончилась идет просмотр след. запись. Если закончилась - переход к сл.таблице и все заново...


← →
Reindeer Moss Eater ©   (2004-05-19 12:10) [6]

begin
if not Table1.Active then
 begin
  NameIndex := 1;
  Table1.TableName:=TableNamesArray[NameIndex];
  Table1.Open;
 end
else
 table1.next;

if table1.Eof then
 begin
  Inc(NameIndex);
  if NameIndex > Length(TableNamesArray) then NameIndex := 1;
  table1.Close;
  Table1.TableName:=TableNamesArray[NameIndex];
  Table1.Open;
 end;
end;


← →
cad2206   (2004-05-19 12:20) [7]

Reindeer Moss Eater: я так понимаю это процедура нажатия на кнопку. Тогда вопрос:
1. Как мне описывать Table1? Как TTable? (На форме уже есть компонент Table1 с привязанным файлом db).
2. TableNamesArray - массив имен конкретных таблиц? Если да, как его создавать (описывать)?
3. NameIndex - просто переменная указывающая на таблицу из массива TableNamesArray?

Извините за глупые вопросы, я начинающий и мне очень нужно.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1085382599
Gorlum
2004-05-24 11:09
2004.06.13
Где же моя анкета?


3-1085464135
IBNovice
2004-05-25 09:48
2004.06.13
время доступа


14-1085421821
Piter
2004-05-24 22:03
2004.06.13
Доступ в FIDO


3-1085035035
NoName
2004-05-20 10:37
2004.06.13
DBGridEh


3-1085122443
paul_k
2004-05-21 10:54
2004.06.13
Как проверить установлен ли MDAC?




   Наверх