What is Access Doing When It Opens A Form?

geraldcor

Registered User.
Local time
Today, 21:35
Joined
Jan 26, 2004
Messages
145
Background:
I was thrown into the database at my job because my brother left for another job and I seemed like a good choice to replace him. I don't know why, I have slim to none in terms of programming knowledge, (I am a psychology major for crying out loud), but I was willing to learn. I enjoy working on computers coding etc.
The problem. Our database is setup FE, BE. BE resides on a Fedora Core server. Eight computer connect to this at 100 Mbps. The main form "frmCheckIn" is where most of the work is done. It is huge. The Table for this form is huge, there is a lot of code behind this form, it is painfully slow to open (45sec). This problem has been going on ever since we switched to the Fedora Core (before that we only had three computers connecting to a BE on another computer. Every once in a while the speed to open will increase but not drastically. My local copy where I make changes etc it speedy as can be opening. I wondered if it was a network problem? I did some checks with the activity monitor monitoring the computer opening the form and there were spikes as the form opened up to 70% that happened at pretty consistent intervals. I would like to know what access is doing while it is opening the form. Does it retreive all records from the table and populate the form? Why the spikes in network usage. What can I do to troubleshoot some more? Any suggestions, ideas, sympathies would be appreciated. The users are getting sick of waiting forever to do their work. Thanks to all who have endured this novel. I hope I didn't leave anything out (I probably did)
Greg
 
The question is more or less, "what is your brothers code doing when the form opens". Events are evaluated and run when the form opens. If you're form is bound to a table, then you should make a query that queries that table and use that as the forms data source in lieu of the table.

Look at the forms onload , onopen or oncurrent events and see if there is a lot of querying going on.
 
If your local copy, linked to the be on the server opens at an accepatable speed, then the resolution is to give each user his own local copy of the fe rather than all of them using the shared copy on the server.

When you open a form, Access has to load the form from disk into memory. Disk in your user's case is accross a network connection so that is why it takes so much longer for the form to open for them than for you.

You should also examine what code runs in the Open, Load, Activate, and Current events and make sure that it is necessary and as efficient as possible.
 
All of my users have a local copy of the FE. My copy that I work on is linked to another set of tables that don't really matter (i.e. I can change the tables without disrupting any valuable data). I can I need to do some more scrutinizing of the events. Are the spikes in network usage those different events being executed? If I were to base my form on a query would I have to limit some of the records to speed it up, or does the fact of having a query speed it up. I know that queries are faster than tables, but for some reason I had it in my mind that I couldn't use a query for this form. Thank you all for the input.
Greg
 
Greg,

Definitely look at using a query as the main form's record source. If the
current form is using the TABLE (yes, the big table) as the recordsource,
then you need to use a query to cut down on the amount of data that
Access must send accross the net.

Wayne
 

Users who are viewing this thread

Back
Top Bottom