Страница 1 из 1
Количество записей в таблице
Добавлено: 29 июн 2005, 13:01
pavel_rts
Как получить количество записей в таблице?
_Loop в данном в случае скорее не подойдет, так как имена таблиц меняются. Хотя может если объявить переменную типа Table, но не понятно как, в документации по VIP ничего не нашел?
Добавлено: 29 июн 2005, 13:58
Max_Fin
Есть функция
Код: Выделить всё
function RecordsInTable (iTable : Integer) : LongInt;
но она вернет сколько записей в физ. таблице, без учета наложенных на таблицу ограничений.
А вот _loop как раз и подойдет
Код: Выделить всё
#declare dclRecordsInTable(Tbl, lCount)
#lCount := 0;
_loop #Tbl
{
#lCount := #lCount + 1;
}
#end
...
#dclRecordsInTable(KatSopr, I);
Message('В таблице KatSopr записей: ' + I);
Добавлено: 29 июн 2005, 14:53
Goblin
Нет слов ...
Пошел переписывать отчеты ...
Добавлено: 30 июн 2005, 00:30
pavel_rts
Этого конечно хорошо, но
в первом случае RecordsInTable(1) -работает ...
RecordsInTable(5) - Галка закрывается и только остается
Runtime error 213 in streams_.dll at 001C675
во втором случае, тоже ничего не получилось, система задувается, но не считает. (P.S. я вставляю в цикле имена табл, типа String)
Или я где-то не прав?
Добавлено: 30 июн 2005, 08:58
Алексей
1. RecordsInTable(tnKatos) например по основным. Katos должна быть объявлена во from что бы работало.
2. var i:longint;
i:=0;
_Loop katos inc(i);
message(string(i));
В мессадж покажется кол-во записей.
Добавлено: 30 июн 2005, 09:45
Max_Fin
pavel_rts писал(а):
во втором случае, тоже ничего не получилось, система задувается, но не считает. (P.S. я вставляю в цикле имена табл, типа String)
Или я где-то не прав?
оригинально....
declare - это макроопределение, если вы передаете строку, то и цикл будет по строке
что-то вроде _loop 'KatSopr' {}
как у меня написано в примере так и используйте, не додумывайте.
Добавлено: 13 июл 2005, 10:05
Maverick
Макс рулит, он гуру макроопределений )))
Слушайте Макса, он правду говорит )))
Добавлено: 13 июл 2005, 10:57
Goblin
Хе, процентов 50 % отчетов сократились в объеме исходников на 30-60 %
Только жалко что вложеные макроопределения не поддерживаются и в случае ошибки трудновато искать, где там собака порылась ...