We have an Access 2.0 application that uses DAO and ODBC to a SQL Server 6.5 database. The workstations are DOS 6.22, Windows for Workgroups V3.11 on a Novell 4.x LAN. The application also uses Jet 2.5 with Microsoft's TAB.OCX tab control. The database and all DLL's are on the workstation's hard disk and is opened exclusively. However, frequently we get Disk I/O error #3040 occuring in the application. This can happen anywhere within the application and is totally random. Sometimes, running SCANDISK on the PC fixes the problem, but most times the solution is to delete the MDB file and copy a fresh one across. The MDB file is actually not corrupt because Access does not complain about opening it. Because it is a production system, wse usually get the user to delete the file and copy a new one from the LAN so that they can keep working without much interruption. However, as usage grows, this problem is becoming increasingly difficult to support.
Further to chapies first comment: You're right, I am not completely sure that the MDB is not corrupt. Yes, V2.0 of Access came with repair and compact utilities. At this stage, we are waiting for this problem to reoccur and when it does, get the user to email us a copy of the MDB before deleting it and replacing it with a new one. I will post the findings here once this is complete.