Slow MDE Performance with MSAccess 2007

P

POB

Problem: Compiled MDE runs unacceptably slow under MSAccess 2007, but ran
well under MSAccess 2003.

1. How can an MDE be created (and/or the operating environment configured)
to achieve acceptable(similar) operation speeds as in prior MSAccess versions
(2000, 2003)?

2. Are operating speeds expected to be better if MDE has MS SQL database
back ends (than when using MDB databases)?

NOTES:
a. Occurs with Vista and XP OS
b. The MDE connects to several MSAccess MDB databases (1=ReadWrite, 2
databases=ReadOnly).
c. The particular application has been successfully deployed as a MDE
program since 1999 for Access 1997, 2000, 2002, and 2003
 
A

Albert D. Kallal

POB said:
Problem: Compiled MDE runs unacceptably slow under MSAccess 2007, but
ran
well under MSAccess 2003.

1. How can an MDE be created (and/or the operating environment
configured)
to achieve acceptable(similar) operation speeds as in prior MSAccess
versions
(2000, 2003)?

There's nothing particular about 2007 that should cause some special
slowdown. The general execution speed of code is relatively the same in all
recent editions.
2. Are operating speeds expected to be better if MDE has MS SQL database
back ends (than when using MDB databases)?

The execution speed of your code in a mde does not change if using an access
back end, or SQL server for the backend. The code does not all of a sudden
say gee I'm going to run slower today because we're using SQL server.
However, keep in mind that most access applications when upgraded to SQL
server do in fact run a good deal slower. However, this slow down is simply
due to that SQL server is a different technology and you have to design your
applications to take advantage of SQL server if you're going to realize any
gains in performance. So as a general rule, no, your application will not
speed up by itself by simply changing the technology from a mdb to sql
server for the backend data storage. if you modify and improve your designs,
then no question SQL servers as the courier choice and can reduce your
bandwidth requirements, but this does not occur without additional work and
effort and good designs on your part.

There's a couple things I would test and check here:

First make your way through Tony's faq here:

http://www.granite.ab.ca/access/performancefaq.htm

The next thing I would do is create an actual accDE in place of that mde.
While it is possible to use an compiled MDE made for one version of access
and then run it on different versions of access, I don't really recommend
this and never have attempted this. So have you tried creating a new accDE
and using that in place of a mde? Did that help?

When you gone through Tony's above list, the next couple of things are to
check are:

Check if you have any default printers attached that are network printers
(or even set as your defaults but not actually attached or active on the
network). This issue is not particularly new to 2007, but I've seen a few
posts that may hint that 2007 may be a bit more sensitive in this regards,
but I have no information to prove that fact of us yet. If you're default
printer is a network printer then this can effect load and performance time
of your application, however this is usually more of a issue during the
design phase than the actual running and deployment phase. Anyway, check
your default printer.

Make 100% sure that you have a persistent connection from your front end to
your back end. I assume in your startup code, you open a connection to the
back end database and keep his open at all times during all running of the
application code....correct?

So as it stands right now, there is does nothing in 2007 that should
dramatically change your performance here. There has been a few posts that
mention that some screens do update little bit slower, but the actual
execution speed in time of the code remains relatively the same as previous
versions, and for the most part users are not experiencing some large
unknown slow down when switching to 2007.

Check the above issues, and post back what you come up with as this will
help the rest of the community here...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top