![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Просмотр нескольких таблиц [D7, Paradox]
cad2206 © (2004-05-19 10:54:00)Ребята, помогите, очень нужно.
Есть несколько таблиц (Paradox), в которых по 2 столбца. Необходимо на форме по нажатию одной кнопки выводить очередную запись из таблицы. Если таблица заканчивается, то переход к следующей и т.д. Жду ответа.
cad2206 (2004-05-19 12:20:00) [1]Reindeer Moss Eater:я так понимаю это процедура нажатия на кнопку. Тогда вопрос:
1. Как мне описывать Table1? Как TTable? (На форме уже есть компонент Table1 с привязанным файлом db).
2. TableNamesArray - массив имен конкретных таблиц? Если да, как его создавать (описывать)?
3. NameIndex - просто переменная указывающая на таблицу из массива TableNamesArray?
Извините за глупые вопросы, я начинающий и мне очень нужно.
Reindeer Moss Eater (2004-05-19 12:10:00) [2]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 11:54:00) [3]bushmen ©:
объясни: 1. В процедуре обработки нажатия на кнопку при выборе формы пишешь, что тебе сказали:
2. В процедуре нажатия кнопки:
Вчем разница?
И зачем в запросе несколько таблиц? Мне нужно последовательно просматривать одну таблицу за другой, и в каждой таблице одну запись за другой. Т.е. нажатием на кнопку, пока очередная таблица не закончилась идет просмотр след. запись. Если закончилась - переход к сл.таблице и все заново...
sniknik (2004-05-19 11:22:00) [4]запросом проще,
только еще добавить поле
'select 1 AS SelNo, * from table1
union all
select 2, * from table2
....
union all
select N, * from tableN';
и фильтр по SelNo наложить, доходиш до конца/начала - перефитьтровываеш. смотрется будет также как таблицу переключать но попроще в реализации. (имхо конечно)
bushmen (2004-05-19 11:18:00) [5]>мне нужно это выполнить не запросом 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;
cad2206 (2004-05-19 10:59:00) [6]Reindeer Moss Eater:спасибо, но мне нужно это выполнить не запросом SQL, а программно (на уровне begin end)
Reindeer Moss Eater (2004-05-19 10:57:00) [7]Query1.SQL.Text:=
'select * from table1
union all
select * from table2
....
union all
select * from tableN';