Form slow to open, save

A

Annie

I have a form in an Access XP database that has many
combo boxes in it. On my system (WinXP) and some others
ranging from Win98 to WinXP, it opens very slowly, takes
a long time to switch to design view and saves just as
slowly when I make a change. When installed on some
other systems, the form opens much faster.

Can anyone offer a reason for this and/or a suggestion to
speed things up?

Thanks
Annie
 
D

Dirk Goldgar

Annie said:
I have a form in an Access XP database that has many
combo boxes in it. On my system (WinXP) and some others
ranging from Win98 to WinXP, it opens very slowly, takes
a long time to switch to design view and saves just as
slowly when I make a change. When installed on some
other systems, the form opens much faster.

Can anyone offer a reason for this and/or a suggestion to
speed things up?

Usually when I see this it's the result of the Name AutoCorrect feature,
and I recommend that you turn that feature off in the Tools ->
Options... dialog (General tab). The fact that it's much faster on some
other systems puzzles me, though, because I thought this option was
stored with the database, not with the installation, and thus should be
the same wherever you copy that database. Still, it can't hurt to
check.
 
A

Annie

-----Original Message-----


Usually when I see this it's the result of the Name AutoCorrect feature,
and I recommend that you turn that feature off in the Tools ->
Options... dialog (General tab). The fact that it's much faster on some
other systems puzzles me, though, because I thought this option was
stored with the database, not with the installation, and thus should be
the same wherever you copy that database. Still, it can't hurt to
check.

--
Dirk Goldgar, MS Access MVP
www.datagnostics.com

(please reply to the newsgroup)

Thanks Dirk. I will try it Annie
.
 
T

Tony Toews

Dirk Goldgar said:
Usually when I see this it's the result of the Name AutoCorrect feature,
and I recommend that you turn that feature off in the Tools ->
Options... dialog (General tab). The fact that it's much faster on some
other systems puzzles me, though, because I thought this option was
stored with the database, not with the installation, and thus should be
the same wherever you copy that database.

I suspect the difference may be more along the lines of the difference
between a single user, Annie, being in the FE linked to the backend vs
when she and another user are in a FE linked to the BE. Which the
standard hidden bound form or open recordset or database connection
would solve.

Annie, for more information on this and other causes, other tips and
links to MS KB articles visit my Access Performance FAQ page at
http://www.granite.ab.ca/access/performancefaq.htm

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
Joined
May 22, 2012
Messages
3
Reaction score
0
Saving form can be slowed down to tens of seconds or even loger by Track Name AutoCorrect Info option. I have just faced this problem with such form having huge number of controls.
At this moment it is solved by turning off this option in Form_Open event and setting to previous state in Form_Close event:

Code:
Private Track_Name_AutoCorrect_Info As Boolean, Perform_Name_AutoCorrect As Boolean, Log_Name_AutoCorrect_Changes As Boolean
 
Private Sub Form_Open(Cancel As Integer)
 
On Error Resume Next 'just in case
With Application
Track_Name_AutoCorrect_Info = .GetOption("Track Name AutoCorrect Info")
If Track_Name_AutoCorrect_Info Then
Perform_Name_AutoCorrect = .GetOption("Perform Name AutoCorrect")
If Perform_Name_AutoCorrect Then
Log_Name_AutoCorrect_Changes = .GetOption("Log Name AutoCorrect Changes")
.SetOption "Log Name AutoCorrect Changes", False
End If
.SetOption "Perform Name AutoCorrect", False
End If
.SetOption "Track Name AutoCorrect Info", False
End With
On Error GoTo 0
 
End Sub
 
Private Sub Form_Close()
 
On Error Resume Next 'just in case
With Application
.SetOption "Track Name AutoCorrect Info", Track_Name_AutoCorrect_Info
If Track_Name_AutoCorrect_Info Then
.SetOption "Perform Name AutoCorrect", Perform_Name_AutoCorrect
If Perform_Name_AutoCorrect Then _
.SetOption "Log Name AutoCorrect Changes", Log_Name_AutoCorrect_Changes
End If
End With
On Error GoTo 0
 
End Sub

Obviously you can do it manually, permanently.
The only thing very, very disturbing here is detaile reson of that slow down.
 
Joined
May 22, 2012
Messages
3
Reaction score
0
The code above works fine in Access 2002, but in the Runtime 2010 Form_Close event generates

Error 31556
To view object dependencies or change the Track Name autocorrect
option, Microsoft Office Access must close all objects and update
dependency information.

Changing Track_Name_AutoCorrect_Info As Integer, Perform_Name_AutoCorrect As Integer and Log_Name_AutoCorrect_Changes variables
from Boolean to Integer, and conversion from -1 to 1, for example using Abs() function:
= Abs(.GetOption ...)
doesn't help ...


So maybe better turn off Track Name autocorrect manually, forever ?

Or use
If Val(Application.Version) > 11 Then Exit Sub
because this slowing down is significant in older versions.

And On Error GoTo Exit_Label is more safe then On Error Resume Next .
 
Last edited:
Joined
May 22, 2012
Messages
3
Reaction score
0
Form_Activate and Form_Deactivate events would be better then Form_Open and Form_Close.
 

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