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

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

Определение количества записей в физической таблице, несмотря на фильтрацию [D5, Paradox]


BigError ©   (2002-03-22 13:23:00) 

Подскажите, пожалуйста, разрешение глупой проблемки - как определить количество записей в TTable.
Само по это просто - свойство TTable.RecordCount. Но дело в том, что часть записей отфильтрована по
некоторым условиям в событии OnFilterRecord, после чего RecordCount становится равным количеству
отфильтрованных записей, а не реально имеющихся.
Причем нужно определять количество записей постоянно, при каждом Insert, Append, Delete и так далее.
Есть ли какой пропертис или функция, которые дают _всегда_ количество реальных записей в ТТable,
несмотря на фильтрацию? Или как эту проблему решить, если ничего такого нет? Спасибо.


BigError   (2002-03-22 14:26:00) [1]

>2CrazyFish
Большое спасибо, все работает!


Val   (2002-03-22 14:04:00) [2]

ставите query, прописываете в SQL.Text select count * from mytable до операций с таблицей, присваиваете результат запроса переменной, затем, при операциях добавления, удаления соответственно прибавляете или отнимаете единицу, в соответствующих обработчиках.


-=CrazyFish=-   (2002-03-22 14:04:00) [3]

var
b: TBookmarkStr;

begin
...
with Table1 do
begin
DisableControls;
b:=Bookmark;
filtered:=false;
form1.caption:="Число записей: "+IntToStr(Table1.RecordCount);
filtered:=true;
bookmark:=b;
enableControls;
end;
...
end;


Наверх

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