I got this from the help files
Code:
dbOptimistic value =3 Optimistic concurrency based on record ID. Cursor compares record ID in old and new records to determine if changes have been made since the record was last accessed.
dbOptimisticBatch value =5 Enables batch optimistic updates (ODBCDirect workspaces only).
dbOptimisticValue value =1 Optimistic concurrency based on record values. Cursor compares data values in old and new records to determine if changes have been made since the record was last accessed (ODBCDirect workspaces only).
Note
ODBCDirect workspaces are not supported in Microsoft Access 2010. Use ADO if you want to access external data sources without using the Microsoft Access database engine.
dbPessimistic value =2 Pessimistic concurrency. Cursor uses the lowest level of locking sufficient to ensure that the record can be updated.
The way I understand it Pessimistic will try to lock the record sooner than Optimistic. Pessimistic will lock the record as soon as the record is placed in edit mode. Optimistic will try to lock it at the last moment just before Access attempts to write to the specific row via the .Update command.
I don't know how you are getting the info now for hte email list. You may want to consider something like dbOpenSnapshot, dbForwardOnly
What exactly is the error masg saying to the user. Have you determined if it is Windows vs Access?