Страница 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 %  
 
Только жалко что вложеные макроопределения не поддерживаются и в случае ошибки трудновато искать, где там собака порылась ...