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

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

Просмотр нескольких таблиц [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';


Наверх

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