By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,928 Members | 1,200 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,928 IT Pros & Developers. It's quick & easy.

urgent become too much slower during running

P: n/a
hi,every one
im facing a problem in running access it's about
25 tables
80 forms
46 query (5 append query ,1 update query ,2 delete query )
60 reports
4 modules
after 7 months of perfect working in access 2003 around 8users working
in it .i was working with these users in my sharing folder which i know
that may corrupt the whole application but from one week i transfer it
to our company server i notify that it become much slower specially
when more than one user access it,according to that i return it back
but i also face the same problem i m waiting for 2 min to open the form
not all of them number of them they work but delay during running query
..according to my knowledge it must become faster .it become faster for
the search option but when running queries no. i tried to split the
database to BE\FE and also the same problem is accure. i dont face it
if one user is working . almost it stuck but still work as before
except the delay in time.i always compact the application and the
capacity change from 511 MB or more to 159MB or little bit more.
im going to check some issues i have found in the net which it was
arround the extension of FE should be mde that may help also the
setdatasheet for the tables from auto to none and in the general in
options in tools make the tracknameautocorrect off.
but im failing that im going to face the same problem and the delay
please help me since when im working in my own pc with a copy of the
application without any sharing it work perfect.
so please could you just help me and suggest things that may help ????
my supervisor suggest to take a look and make some changes he thinks
that the problem may occur from the relation but i dont think so since
it work perfect for a long period.

Dec 5 '06 #1
Share this Question
Share on Google+
7 Replies


P: n/a
The best suggestion in this case is to try a persistent connection
(that means the front end opens up a backend table..and KEEPS it open...try
that).

the other list of thing to check/try is outlined here:

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

work your way through the above list one by one....
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com
Dec 5 '06 #2

P: n/a

Albert D. Kallal wrote:
The best suggestion in this case is to try a persistent connection
(that means the front end opens up a backend table..and KEEPS it open...try
that).

the other list of thing to check/try is outlined here:

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

work your way through the above list one by one....
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com
hi mr.Albert D. Kallal
i just want to thank you for your suggestion ,im going to try this move
and let you know what is going to happened however thanks

Dec 6 '06 #3

P: n/a
funfair wrote:
Albert D. Kallal wrote:
The best suggestion in this case is to try a persistent connection
(that means the front end opens up a backend table..and KEEPS it open...try
that).

the other list of thing to check/try is outlined here:

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

work your way through the above list one by one....
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com

hi mr.Albert D. Kallal
i just want to thank you for your suggestion ,im going to try this move
and let you know what is going to happened however thanks
hi
could you please provide me with the details to create persistent
connection if im going to use a code explain how in details i just try
to split the database to FE and BE THEN WHAT SHOULD I DO??
thanks alot for cooperating with me

Dec 8 '06 #4

P: n/a
could you please provide me with the details to create persistent
connection
A persistent connection simply means that you open a table to the back end
in your start up code. As to how you do this, you have considerable number
of choices. Some people simply attached a table to their "main menu" form.
(you likely have some time of switchboard). If you bind some fields on that
form to a table in the back end, then you just made a persistent connection.
All this means is that you want to KEEP OPEN a connection to the back end
mdb file at all times. Doing so eliminate the LONG delays that often occur
when opening a form or whatever as then ms-access has to re-open and build
the connection to the back end. So, keeping something open at all times
eliminates this delay.

Some people launch a form in their start-up..and then make the form visible
= false.

in my case, I just use a global declared reocrdset.

Set gblRstGstRates = CurrentDb.OpenRecordset("tblGstRates")

There..just one line of code. Make sure that the reocrdset is a global
var..

if im going to use a code explain how in details i just try
to split the database to FE and BE THEN WHAT SHOULD I DO??
thanks alot for cooperating with me
I don't understand the above question, but if you going to work with
ms-access, it is impossible to update your software without overwriting the
clients data unless you split. I explain this in details here:

http://www.members.shaw.ca/AlbertKal...plit/index.htm

--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com
Dec 8 '06 #5

P: n/a

hi , Kallal
thank you for you response
itry the following after split the application to FE and BE and compile
the application and there wasnt any error i declare areordsedt in a
module
Public grstThisTable As Recordset
then in my main i put the following code in the open event
If grstThisTable Is Nothing Then
Set grstThisTable = CurrentDb.OpenRecordset("offer_serial",
dbOpenTable)
End If
but i didnt notify any change .i just want to clearify that the BE on
the network server and FE on each userit takes around 2 min to open a
form i notify that there is agreen line in the status bar to show you
the running of the query it work fast if there is just 1 user and
doesnt take 2sec but when more than one access the same page it takes
around 2min then open the page.
also i compact both BE and FE,make FE a mde application ,change the
subddatasheet to none instead of auto ,deselect the track auto correct
name.
if there is anything else i can do please help me!
could the problem be from lock record does effect the running ,i
checked the database the option it is no lock .
after all theses things i think that the problem is from the appending
query since i put it in the activate event i wont able to remove it.
is there any way to solve the delay in the appending query.
thanks alot.

Dec 12 '06 #6

P: n/a
If grstThisTable Is Nothing Then
Set grstThisTable = CurrentDb.OpenRecordset("offer_serial",
dbOpenTable)
End If
Ah, the above cant work on a linked table?????

try

Set grstThisTable = currentdb.OpenReocrdSet("offer_serial")

By using the option "dbOpenTale", I don't believe your code was running.
dbTable will NOT work on a linked table..

Something is wrong, very wrong if the above code was able to run. Since you
can't use the keyword "dbopenTable" on a linked table, then exactly where
did you test/try that code? (it COULD NOT have worked, and it COULD NOT have
created a persistent connection.

To test a persist connection, you don't even need to bother with code.
Simply open up the front end that is PLACED ON YOUR computer. Open ANY
LINKED TABLE to the back end...minimize this table. Now run your code. (that
minimized table will CREATE A PERSISTENT connection). If this works, the you
can go and modify your above INCORRECT code....

Your code as you have it COULD D NOT have worked.

Further, make your way though the following list:
http://www.granite.ab.ca/access/performancefaq.htm

work your way through the above list one by one....
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com
Dec 14 '06 #7

P: n/a
hi
sorry for bothering you
you are 100% right it doesnot work i try the pervious code in my pc and
i have forgotten when i try it in work i face a problem after
searching i change my code to be

If grstThisTable Is Nothing Then
Set grstThisTable = CurrentDb.OpenRecordset("offer_serial",
dbOpenDynaset)
End If

and it works perfect ,is it right??

but when i try the option of dbopenTale it gave a run error 3001

however sorry for the wrong appear accedentaly in my code

and thanks for your notice
im going to check although i have notice that a datasheet appear behind
the main form i didnt get that is it a remark of workin persistent
connection but i dont notice this remark in my pc.

thanks a gain i really dont know how to thank you for your cooperating.

Dec 14 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.