Hi, Donna.
I've read all the
solutions but want to know the cause.
It's much slower because you built the database for a single user who opens
the database located on his own workstation, not for a networked, multiuser
database application.
Does the front end reside on your own workstation or on the server? If it's
on the server, then your computer has to make multiple requests across the
network to retrieve data for multiple files.
Really simple language = "Two calls take more than twice as long as one
call, because you have to wait in line to make the second call."
Does your front end maintain a persistent connection to the back end? If
not, the locking database file will be established each time a connection to
one of the tables in the back end is needed. That means that the Windows
Networking API's have to be checked on every directory in the path to ensure
that your User ID has permission to access that directory. The deeper down
the directory structure, then the more times these Windows Networking API's
get called. And then the .LDB file has to be created. This can take a lot
of extra time.
Really simple language = "Take one step forward. Dig through your purse and
find your wallet to check the name on your drivers license, the state that
issued it, and whether the drivers license expiration date is valid, then put
the wallet back in your purse. Report the results to your boss. Take
another step forward. Dig through your purse and find your wallet to check
the name on your drivers license, the state that issued it, and whether the
drivers license expiration date is valid, then put the wallet back in your
purse. Report the results to your boss. Take another step forward . . . "
and so on for every directory in the path. When you get to your destination,
build the desk and chair you'll be working on while you're there.
Does the path or file name use Windows long name conventions or the old DOS
8.3 naming conventions? If it's not DOS 8.3, then the Windows Long Names API
has to be consulted to resolve the name.
Really simple language = "Call your co-worker on the phone and ask, 'How do
you spell <insert any word here>. Wait for your co-worker to look it up in
the dictionary, then write it down for you, then walk over to your desk from
his office across the building to hand you the slip of paper. After you
finish all the other tasks you've been assigned while you were waiting, you
read it."
I could go on, but I think you get the idea. Now go implement those
solutions you've found. And remember, primary keys and indexes are your best
friends.
HTH.
Gunny
See
http://www.QBuilt.com for all your database needs.
See
http://www.Access.QBuilt.com for Microsoft Access tips.
(Please remove ZERO_SPAM from my reply E-mail address so that a message will
be forwarded to me.)
- - -
If my answer has helped you, please sign in and answer yes to the question
"Did this post answer your question?" at the bottom of the message, which
adds your question and the answers to the database of answers. Remember that
questions answered the quickest are often from those who have a history of
rewarding the contributors who have taken the time to answer questions
correctly.