provided by: 
Originally published at Internet.com1. MS Access drivers (upto and including Access 97) are not thread safe.
2. Always make user your DoFieldExchange order is the same as the order of fields in the DB table. The class wizzard will occasionally change the order at you.
3. Don't use 16-bit Ints in your database. Only use Bytes or Longs (32-bit). The RFX_Short function actually uses SQL_LONG in the ODBC call. Most of the time this seems to work OK, but it will fail for paramaters. Also remember VC++ 5.0 ints are 32-bits.
4. Don't try and bind to fields you are passing in as paramaters. I.E. In the Access Query if you have a field you are compairing to a paramater, make sure the show row is not check for that column.
5. You can have Indexes with multiple fields besides the primary key to help speed up the DB, and help with Database integerity. To do this go into design view for the table, and select View->Indexes. at the bottom of the list enter a new index name, and then enter the names of the fields you wish to have in the index in the Field name colum in the next rows, leaveing index name cell blank Index Name   Field Name  Sort Order UserName     LastName    Accending              FirstName   Accending              MiddleInit  Accending Index2       Field1      Accending              Field2      Accending Index3       Field1      Accedning Index4       Field1      Accending ...
Read article at Internet.com site