Форум » [x]Harbour » Число строк » Ответить

Число строк

fil: Всем, привет ! Можно ли в DBF определить число строк помеченных на удаление ?

Ответов - 4

sergey5703: Я просматриваю dbf файл функцией DBEVAL и подсчитываю записи, для которых функция DELETED() - .T., примерно так: nCountDel := 0 DBGOTOP() DBEVAL({||IIF(DELETED(), nCountDel ++,)}) может быть можно и по другому, не знаю.

Петр: ИМХО в цикле с помощью Deleted() или DbRecordInfo( DBRI_DELETED, .. ) // The example uses DbEval() to determine the number of deleted records // in a database to calculate the space that could be freed with PACK. PROCEDURE Main LOCAL nCount := 0 USE Customer NEW DbEval( {|| nCount++ }, ; {|| Deleted() } ) ? "File size could be reduced by", 100*nCount/Lastrec(),"percent" CLOSE Customer RETURN

fil: Можно, конечно, и так.. Однако, ведение доп. индекса типа iif(deleted(),1,0) мне кажется изящней


santy: Можна поставить индекс : INDEX ON nam_idx TAG delet_recs FOR DELE() Можна подсчитать : SELECT <table> COUNT TO nDeletedRecs ALL FOR DELETED() GO TOP



полная версия страницы