access 2007 really slow

  • Thread starter Thread starter Toni
  • Start date Start date
T

Toni

We recently upgraded from access 2003 to access 2007 and SQL Server 2000 to
SQL Server 2008 Standard edition. We use ODBC to connect to the backend, a
system DSN was created with a SQL Server driver.

I noticed our adp access apps are really slow, can not keep up with the end
user typing a name into a text box. I have done the following tests on 2
different machines. One machine has access 2003 and the other mahcine has
access 2007. The machine with access 2003 is fine (I logged on and tested
the application as the end user and as adminisstrator) The machine with
access 2007 I logged on as administrator and the application was fine, I then
logged on as the end user and the application was real slow. I then gave
the end user full control on the C: program files - Microsoft office folder
to see if that would make a difference, that did not. Does anyone have any
suggestions on what else I can try?

Thanks
Toni
 
They have been many complaints in the past regarding the lack of speed of
ADP 2007 and I don't use it myself personally exactly because of that. Some
people have reported an improvement with SP1 but I never tested it
personally. It's interesting to see that you don't have any problem when
you are logged as an administrator. Could you give us some more details?

SP2 for Office 2007 is out, so you should give it a try:

http://support.microsoft.com/kb/953195

http://www.microsoft.com:80/downloa...18-79ea-46c6-8a81-9db49b4ab6e5&displaylang=en

--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Email: sylvain2009 sylvainlafontaine com (fill the blanks, no spam please)
Independent consultant and remote programming for Access and SQL-Server
(French)
 
Yes I also have read several complaints about the slowness of .adp What
puzzles me is why I do not experience this problem while logged on as
administrator.

After I posted this question we installed SP2 (12.06423.1000 SP2 - MSO
12.0.6425.1000) on one of our machines and I ran the same tests - log on as
end user problem (slow connecting slow when typing in data), log on as
administrator - ok. The access application is connected to is fairly small
DB, just over 1 gigabyte.
The form that I am testing has a sub form that prompt for first name and
last name only. When I type in 3 records -Test One, Test Two, Test three,
it can not keep up (I am not a fast typist). The tables that this form is
dealing with has around 2850 records. Let me know if you need additional
information.
 
Hum, the fact that you don't have any problem while logged as an
administrator make me unsure that your situation is related to the ADP 2007
current problem of excessive number of requests about the structure of the
database made by ADP 2007.

You should take a look with the SQL-Server Profiler to see what's really
going on with your ADP.

Are you using a mix of owners (dbo + some other users) or if all the objects
belongs to dbo and also, in the second case, did you took the precaution of
specifying dbo. for all references to views, tables and SP in your queries
and SP? Finally, did you also took the precaution of setting dbo as the
Record Source Qualifier under the Data tabl of all your forms and reports?

--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Email: sylvain2009 sylvainlafontaine com (fill the blanks, no spam please)
Independent consultant and remote programming for Access and SQL-Server
(French)
 
We are using dbo, not mixed. I made sure the startup form and the form that
I am dealing with in this application has the record source qualifier to be
dbo
I also made sure all references to the tables have a prefix of dbo (w/i the
VBA code that was written, there were only a few select statements) No views
on this form, but there is one stored procedure and I was not sure how to
specifiy dbo for it. Below is what I have.

' set CommandText to Stored procedure name
objCmd.CommandText = "StoredProcedureName"
objCmd.CommandType = adCmdStoredProc

' Connect to the data source
Set objConn = CurrentProject.Connection
objCmd.ActiveConnection = objConn

' set stroed procedurer parmaters
objCmd.Parameters("@SID") = pubSID
objCmd.Parameters("@MemID") = pubMemID
objCmd.Parameters("@FirstName") =
Form_subfrm_DealerDealerPersons.TxtFirstName.Value
objCmd.Parameters("@LastName") =
Form_subfrm_DealerDealerPersons.TxtLastName.Value
objCmd.Execute

I also ran SQL Server Profileer while I did the test as administrator and
again as the end user. I did not really notice anything different between
the two traces.

Thank you for the suggestions... I am afraid that we may have to install
access 2003 for the end users until this issue gets resolved....

Toni
 
For your VBA code executing the stored proc, use:
objCmd.CommandText = "dbo.StoredProcedureName"

The fact that SQL profiler shows no difference and it works fine for a db
owner suggests a problem with name resolution. You also weren't 100% clear
that there was NO difference in SQL Profiler. You need to be more certain
than "I did not really notice anything different between the two traces".
Take the time to identify the smallest test that shows a performance
difference, and then compare the SQL profiler traces completely to see if
there is ANY difference. If the traces are too long to compare manually, you
can copy them into separate Word documents and let Word compare the two
documents. Eliminate unnecessary columns from the comparison (like start/end
time, username, etc. that will necessarily be different), maybe by pasting
into Word tables or going through Excel if you can't remove the fields in
profiler.
 
I tried adding "dbo.StoredProcedureName" After this change the access
application errors out with Run-time error - Procedure or function
"StoreProcedureName" expects parameter '@showID', which was not supplied. In
debug mode, I verified the parameter had a value. The showiID is set to a
public variable that is defined as
a variant and is a GUID from the shows table. This value always gets set.

I am not sure what you mean that the problem could be a name resolution?
(Sorry, I am getting into new territory) I Googled Name resolution and one
source mentions Name resoultion is used to find a lower level address (such
as an IP address)
that corresponds to a given higher level address such as hostname. Is this
what you are talking about?

Sorry about the vagueness comment about the SQL Profiler (again new to SQL
Profiler - first time I used it was last Friday) I looked at it again this
morning and they match for the first 61 lines. After that they are slightly
different.
The end user has an extra exec sp_Prepare and exec sp_unprepare commands
compared to the administrator profile. this happens a couple of times. I
started looking into what these stored procedures do (I looked at BOL) and
they were not listed, I googled searched and did not find an explaination of
what they do.

Any help would be greatly appreciated.
Toni
 
I tried adding "dbo.StoredProcedureName"

I don't understand what you have tried to do here; so I cannot comment. If
you have tried to use "dbo.StoredProcedureName" as the record source, then
don't do this. Instead, use StoredProcedureName as the Record Source of the
form and use dbo as the Record Source Qualifier (the property just below
Record Source on the Data tab of the properties sheet).

The old problem with ADP 2007 is not on how it executes each Record Source
of a form but the fact that that it continuously queries the SQL-Server for
metadata. With the Pre-SP1 version of ADP (the first RTM release), you
should see a lot of activity of ADP 2007 against SQL-Server with the
Profiler in comparaison to ADP 2003. The SP1 is supposed to bring some
relief but I don't know by how much. (I don't use personally ADP 2007 at
this moment). For an example, see:

http://groups.google.ca/group/micro...6f026f0eeee/385419790b476f53#385419790b476f53

You don't have to make a comparaison between two traces to see this
activity: the simple fact of moving from control to control or from table to
table (in the navigation pane) or from record to record should generate a
lot more of activity by ADP 2007 against SQL-Server in comparaison to ADP
2003; in the order of tens, hundreds or even thousands time more. It's not
simply a few more calls here and there.

For ADP 2007 with either SP1 or SP2, I don't know.

--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Email: sylvain2009 sylvainlafontaine com (fill the blanks, no spam please)
Independent consultant and remote programming for Access and SQL-Server
(French)
 
Here is some additional information. I have tried this on SP 1 and SP 2.
I modified the below code as follows per Paul S. suggestion. I also made
sure the main form and the sub form record source qualifier has dbo.
the record source for both the main and sub form are select statements.

With in the sub form - lastnameTextAfterUpdate event I call a subroutine
that calls the
stored procedure, which insert the name into a table.

' did not work
objCmd.CommandText = "dbo.StoredProcedureName"
objCmd.CommandType = adCmdStoredProc

' put back to what I had before
objCmd.CommandText = "StoredProcedureName"
objCmd.CommandType = adCmdStoredProc

When I state comparing traces I should be more specific, I am comparing ADP
2007 only,
one with the end user activity and one with the administrator activity.

I am sure you are right if I was to compare one of the traces to an ADP 2003
and
the other to a ADP 2007, the ADP 2007 would have more activity.

In the meantime a co-worker has come up with a temporary fix that will make
the user happy. On the end users machine we are going to office12 ->
msaccess.exe and select run as. We then type in the administrator username
password
information. We may create a bat file to do this automaticallly for the end
user.
This has fixed the slowness of the application. Unfortunately we have a few
..adp
applications and a fair number of end users and I do not think this is the
correct
way to fix this.....this is what I would call a bandaid fix :)
 
CULLENFELLER
Sylvain Lafontaine said:
They have been many complaints in the past regarding the lack of speed of
ADP 2007 and I don't use it myself personally exactly because of that.
Some people have reported an improvement with SP1 but I never tested it
personally. It's interesting to see that you don't have any problem when
you are logged as an administrator. Could you give us some more details?

SP2 for
http://www.microsoft.com:80/downloa...18-79ea-46c6-8a81-9db49b4ab6e5&displaylang=en
Office 2007 is out, so you should give it a try:
5..> http://support.microsoft.com/kb/953195

--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Email: sylvain2009 sylvainlafontaine com (fill the blanks, no spam please)
Independent consultant and remote programming for Access and SQL-Server
(French)
5..27
 
Back
Top