TCountTable is a component descending from TTable. Like Paradox files,it allows an automatic autoincreasing field . This field isn't editable and it's impossible to erase it. This doesn't depend from the number of records, i.e. if you have 1000 rec.s and you erase 100 of them the next number will be 1001 anyway, so it's impossible to have 2 rec.s with the same number. That's very useful for master-detail . CntTable.DCR id 32 bit compiled but we give you also the .RC file. So you can recompile it with any resources toolkit and make a .RES file, then you just need to rename it from .RES to .DCR. The counter is a longInt, stored in a one-record-file of longInt, with the same TableName but with extension *.MAX. If this file is corrupted or doesn't exist, it's recreated like follow : the index (if any) is temporarily removed to obtain the natural order of records; by a call to the 'Last' method, the cursor is set on the record that has certainly the highest number and it becomes the new counter. ************************************************************************** All that happens just on some particular conditions, otherwise TCountTable behaves like a normal TTable. ************************************************************************** The condition making difference is the presence of a particular field named FAutoFieldName in CntTable.pas composed like follows: the early five characters of TableName + '_NO'. If TableName length is less than five -> TableName + '_NO'. For example if TableName is MyTable.DBF, the field name will be 'MyTab_NO', if TableName is MyT.DBF the field name will be 'MyT_NO'. So, to obtain the autoincreasing counter, you just need in your table a field named like above. Finally, if you call the CreateTable method without any fields declared, a dialog allows you to add fields and idexes but this part is a beta and doesn't work so well.