Multitasking/windows are big causes. A database is open for writing and frequently being shared by multiple people. If something happens while a the database is writing to a table (power surge, improper shutdown, memory problem to name a few problems, bad harddrive sector,accidental deletion of index file) something can get written to the table header or within a file itself which throws the pointers and/or indexes off. Luckily paradox has the table repair utility (used to be know n as tutility) which does a very good job of inspecting tables and repairing problems. If you've ever had to use scandisk or checkdisk for other files on your hard drive then you have experienced a corrupted database which is all the file allocation table is. You can't predict it so you can't prevent it. Just notice if the behavior or appearance of data in the table is askew. If so, it doesn't hurt to "verify" the condition of the table. Remember also the more indices, memo fields and referential integrety contraints in your database the greater the chance for one of these to become a corrupted file which means database corruption. It sounds more serious than it is, and of course you do back up regularly right. More expensive and advanced databases use transaction rollback technology to help but even then they cannot prevent 100% of the corruption. A good ups with line conditioning also can help prevent many types of corruption as well. An energetic and user can by pass all that with the touch of a button sometimes though. That's why many write scripts which create intermediate files which are then update main files so that a user who does something during a write cannot corrupt the main file . But I drag on...