About 3 months ago I split our company's main access 2010 database as follows:
- gpm_BE.accdb - on server (windows 8 PC not used by anyone, it acts as a file server) - backend database is about 50Mb in size containing just tables.
- gpm_FE.accdb - on user PCs mixture of Windows XP, Windows 7 and Windows 8 (don't ask!!) - maximum concurrent front end users 7. The front end has no tables in it, just forms, queries, reports, macros and a few modules. All data is accessed via linked tables to the backend database.
At first performance was not great - due to our network being running on an ancient 3com 10meg hub. Changed this to a new 100meg switch (wiring won't take Gigabit) and performance for ethernet connected users was great.
A couple of months have passed and I started to notice that initial login to the database - the frontend has a rudimentary login form - was slow it would perhaps take 30-60 seconds to load up the initial form and connect to the employees table (which has only 9 rows in it). Investigation (i.e. lots of Googling) has led me to believe that this delay is probably due to the creation of the lock file on the server (gpm_BE.laccdb). I am not overly concerned about this delay but ...
Over the past couple of weeks two users who share a laptop which is wirelessly connected to our LAN have complained about the time it takes forms to load up. Not just initially but during the day. The front end has a number of menu forms which are used to group together forms into functions - e.g. product data management, invoicing, order management, stock control, etc. The problem that they are having is that they will normally leave the computer on a menu form (i.e. with no (linked) tables open). Sometime later when they return to, say, check on a manufacturing jobcard, it will take 30-60 seconds or more to load up the appropriate form and display the data.
My investigations via Google led me to a potential solution to "Always Keep a Connection Open to the Back End Database While Your Application Runs" - which I found on the FMS website.
However, when I tried suggested code, it caused problems using the database, for example, forms would not be able to access data due to "another user having the database locked" (or something like that). So, I quickly pushed that 'solution' to one side.
I found this another page which suggested the following:
I've tried this latter option and it certainly doesn't cause a problem but I am not sure yet it if it will solve the performance problem.
I'd welcome any comments or feedback that anyone may have.
Thanks, Simon
- gpm_BE.accdb - on server (windows 8 PC not used by anyone, it acts as a file server) - backend database is about 50Mb in size containing just tables.
- gpm_FE.accdb - on user PCs mixture of Windows XP, Windows 7 and Windows 8 (don't ask!!) - maximum concurrent front end users 7. The front end has no tables in it, just forms, queries, reports, macros and a few modules. All data is accessed via linked tables to the backend database.
At first performance was not great - due to our network being running on an ancient 3com 10meg hub. Changed this to a new 100meg switch (wiring won't take Gigabit) and performance for ethernet connected users was great.
A couple of months have passed and I started to notice that initial login to the database - the frontend has a rudimentary login form - was slow it would perhaps take 30-60 seconds to load up the initial form and connect to the employees table (which has only 9 rows in it). Investigation (i.e. lots of Googling) has led me to believe that this delay is probably due to the creation of the lock file on the server (gpm_BE.laccdb). I am not overly concerned about this delay but ...
Over the past couple of weeks two users who share a laptop which is wirelessly connected to our LAN have complained about the time it takes forms to load up. Not just initially but during the day. The front end has a number of menu forms which are used to group together forms into functions - e.g. product data management, invoicing, order management, stock control, etc. The problem that they are having is that they will normally leave the computer on a menu form (i.e. with no (linked) tables open). Sometime later when they return to, say, check on a manufacturing jobcard, it will take 30-60 seconds or more to load up the appropriate form and display the data.
My investigations via Google led me to a potential solution to "Always Keep a Connection Open to the Back End Database While Your Application Runs" - which I found on the FMS website.
However, when I tried suggested code, it caused problems using the database, for example, forms would not be able to access data due to "another user having the database locked" (or something like that). So, I quickly pushed that 'solution' to one side.
I found this another page which suggested the following:
The simple situation would be to create a simple form based on a table. Bound form means that the record source of the form has a table or query specified. Any table but one with as few records as possible. Or create a dummy table and put one record in it. In your startup form add the following line of code in the startup forms OnOpen event.
DoCmd.OpenForm "frmKeepOpen", acNormal, , , , acHidden
I've tried this latter option and it certainly doesn't cause a problem but I am not sure yet it if it will solve the performance problem.
I'd welcome any comments or feedback that anyone may have.
Thanks, Simon