Количество записей в каждой таблице

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Количество записей в каждой таблице

Сообщение Natalika »

Хотела вытащить количество записей каждой таблицы в отдельности...
для начала попробовала в Support-> SQL написать что то типа:
select count(*) from katsopr;
ну и по разному... так у меня ничего и не получилось... то то не так то аргумент не тот, вобщем плюнула на это дело. И нацарапала интерфейсик... но он что то не хочет работать как хотелось бы...
Гляньте пожалуйста... У кого какие мысли есть. :cry:

Interface GetTable;
Create View
from x$files;
file f;
HandleEvent
cmInit:
{
var k,i:longint;
StartNewVisual(vtRotateVisual,vfBreak+vfTimer+vfConfirm,'',0);
SetVisualTitle('Создание списка таблиц');
f.Openfile('c:\qqqq.txt',stCreate);
_Loop x$files
{
k:=RecordsInTable(x$files.xf$code);
//если кол-во записей не нулевое то выкинуть в txt
if k<>0
f.writeln(string(x$files.xf$code)+' - '+string(k));
}
f.close;
StopVisual('',0);
}
end; // HandleEvent InterFace
end.
Я не торможу, я уже приехала!
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Дополнение к предыдущему

Сообщение Natalika »

Работает не так как хотелось бы... означает что после первой интерации цикла... интерфейс уходит в никуда...
Я не торможу, я уже приехала!
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Сообщение Goblin »

RecordsInTable имеет аргументом номер таблицы в ЛТ , а не в словаре - так что ...
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Точно, мне один раз пришлось такую прогу писать

Сообщение san »

Вообщем виде это выглядело так.
на sup-sql писался скрипт, который для каждой таблицы в словаре выдавал строку типа logstrtofile('tablerec.txt',recordsintable(tnтаблица));
из запроса я потом исключил временные таблицы.
из заключение увеличил кеш битрива с 8 до 32 м, нехватало открыть все таблицы словаря.
Все это справедливо для битрив, для скл платформ такие вещи лучше писать на чем нибудь другом, акцесе например.
Ответить