I would check the following list:
http://www.granite.ab.ca/access/performancefaq.htm
After you check the above list, in your startup form, setup a persistent
connection. A persistent connection usually solves your type of issue
performance wise...
You can setup a persistent connection by declaring a GLOBAL recordset var,
and then open a table to that global recordset set. This needs to happen
before any of your other code runs. So, pick any table from the back end (it
don't matter which one), and **keep** it open at all times.
If you have a routine that returns the path to your backend, then you can
also open the database to a database var (this just means you don't have to
pick a particular table and open it).
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
(E-Mail Removed)