Solved

File sharing lock... Error 3952

Posted on 2009-05-13
10
323 Views
Last Modified: 2013-11-27
As shown below, this error comes up and stops the process. After I click on the Debug button, it takes me to the code window. Then, I select Debug/Step Out from the menu to continue the work. This happens about 10 times during this routin and each time I have to repeat "Debug/Step Out from the menu".

I think if I can force the routine slow down a bit, this error will go away. If I have to change some setting in Access  (not requiring this to be done on the users computer one at the time) this will be also acceptable.

I am using Access 2003.

Question: What is the best way to eliminate this error?

Thank you.
Lock.bmp
0
Comment
Question by:Mike Eghtebas
  • 6
  • 3
10 Comments
 
LVL 33

Author Comment

by:Mike Eghtebas
ID: 24381439
I guess using:
CurrentDB.Execute "Update..."

SHoud do the job as well, if the other alternatives weren't as easy.
 
Mike
0
 
LVL 75
ID: 24381475
Why do you suppose the # of locks is being exceeded ?

mx
0
 
LVL 33

Author Comment

by:Mike Eghtebas
ID: 24381489
I think the the original allocation of some sort is no longer to handle this many operation and very quick succession. I am shooting at the dark; it is just a guess.

Mike
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 65

Expert Comment

by:rockiroads
ID: 24441481
Mike, try the suggestions here, go for coded solution first before changng registry.

http://support.microsoft.com/kb/815281
0
 
LVL 33

Author Comment

by:Mike Eghtebas
ID: 24445340
From your link, I copied:

DAO.DBEngine.SetOption dbmaxlocksperfile,15000

to Immediate Window and hit return to run it. I have tried three times (running this piect of code and starting my process). But, sorry to say that all three times failed.

Do think I could increase 15000 or this is as high as it goes?

BTW, after each error, I step out until the process is completed. By the time I go to step out manually, I guess, Access gets a chance to catch up with the pending calculation and then it is able to resume the calculation as requested manually via step-out action.

So, it seems if I can force the process to slow down a bit, then all should be fine.

Now, if there is nothing more we could do with "DAO.DBEngine.SetOption dbmaxlocksperfile,15000", could you show me what is the best way to slow this code down?
 
Thank you,
 
Mike
0
 
LVL 65

Accepted Solution

by:
rockiroads earned 500 total points
ID: 24445535
Not sure then if adding DoEvents will help out here
Maybe add that somewhere in the loop, maybe before movenext
there is this refreshcache, that forces data to be written, part of dbengine.idle I think but not sure if that is applicable here. I have never experienced your error before
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 24445566
In your code are you just doubling the value for each record per component?
0
 
LVL 33

Author Comment

by:Mike Eghtebas
ID: 24446383
I added a messaging steps twice and there is no errors.
lblMsg.Caption = "Report Tables: " & vbNewLine & _
                     "Time elapsed: " & fnElapssedTime() & vbNewLine & _
                     "tReport_TRS_Subject..." & vbNewLine & _
                     "SubjectID: " & rs2!SubjectID & "..."
                     Me.Repaint
                     DoEvents
                     
lblMsg.Caption = "Report Tables: " & vbNewLine & _
                     "Time elapsed: " & fnElapssedTime() & vbNewLine & _
                     "tReport_TRS_Subject..." & vbNewLine & _
                     "SubjectID: " & rs2!SubjectID & "..."
                     Me.Repaint
                     DoEvents

Open in new window

0
 
LVL 33

Author Closing Comment

by:Mike Eghtebas
ID: 31581299
Thank you.
0
 
LVL 33

Author Comment

by:Mike Eghtebas
ID: 24446606
FYI, I didn't use:

DAO.DBEngine.SetOption dbmaxlocksperfile,15000
0

Featured Post

Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question