Solved

Run-Time Error 3008

Posted on 2000-02-25
11
940 Views
Last Modified: 2009-07-29
Greetings again from Belgium.

Lately, for an unknown reason (maybe, I am doomed!), I have been facing miscellaneous little, but bothering, problems in some of the applications I designed in MS Access 97.  Here, comes another problem that I do not really know how to solve as it happens "by itself".

I have an application that was running on a machine to which were connected (through a LAN) different other machines.  Everything went fine for months.  Lately, about two or three weeks ago, the application has been transferred onto another machine and, of course, the shorcuts have been modified accordingly.  Ever since then, little glitches occurred and here is the most occurring one.

Two ladies are entering data into the application; therefore, when they have no data to enter, they keep the application opened but minimized on their task bar.

About once or twice per day, they see the icon flashing on the task bar and, when they click on the flashing icon, the follow error message appears:

"Run-Time error '3008'
The table '\\chievres-lra\helpdesk management.mdb' is already opened exclusively by another user, or it is already open through the user interface and cannot be manipulated programmatically."

That error message is followed by another message:

"Disk or Network error!
The Microsoft Jet Database Engine cannot find the input table or query 'MSysModulus2'.  Make sure it exists and that its name is spelled correctly.
The save operation failed."

Right after that display, a last message appears:

"Out of memory!"

Before I make any comment to those error messages, I would like to precise a couple things:
1) there is no security system attached to the application.
2) only five users are authorized to used the application through the Groups feature of the Windows NT environment.
3) the application used by the ladies is a Replica version, the Design Master version being on my machine.

Now, here are my comments:
1) how can the database be "opened exclusively" as nowhere have I been setting anything to do that? The way I set all my applications is "record opened exclusively" and not database.
2)"...and cannot be manipulated programmatically": no one of the users has the knowledge to manipulate programmatically and, considering the Replica status of the application, no new coding and no coding edition is enabled.

I do not understand why that error occurs and, consequently, I do not know how to solve it.

Please, help me.

Thanks,

Jean-Philippe Guilbeau
0
Comment
Question by:guilbeauj
  • 5
  • 4
  • 2
11 Comments
 
LVL 4

Expert Comment

by:wesleystewart
ID: 2557832
I "solved" some similar mystery errors with JetComp.exe.  It is available from microsoft.

Essentially it is an improved repair/compact.

Is there any code running when these errors occur?

Do you have any timer events getting triggered?

Are you adding the records through code?  If you are, do you explicitly set your DAO objects (recordset, database) to nothing when you're done with them?

Wes
0
 

Author Comment

by:guilbeauj
ID: 2557865
Wes,

1) No code is running when these errors occur!
2) No timer events are getting triggered!
3) The records are not added through code! Records are added through regular forms filling!
4) Nothing is being done when the error occurs, the application being minimized.

Thanks for the help,

Jean-Philippe
0
 
LVL 4

Expert Comment

by:wesleystewart
ID: 2557906
So the forms, which are bound to tables, are open essentially all the time?  Probably a bad idea, though if it worked for you in the past it might not be the problem now.

Does this happen regularly enough that you can time the interval between failures?  Then you can compare the intervals to the settings in >>Tools>>Options>>Advanced and see if the failures coincide with the ODBC refresh time intervals or something like that.

Wes
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:guilbeauj
ID: 2557924
Wes,

1) Only 2 tables are open at the same time (through a one-to-many relationship).
2) The error occurs once or twice a day on a irregular manner (interval).
3) It seems to have started ever since the application has been moved from a machine to another one.
4) I repeat: it even occurs when nothing is being done when the error occurs, the application being minimized.

Thanks,

Jean-Philippe

PS: Have a nice week-end!
0
 
LVL 5

Expert Comment

by:chewhoung
ID: 2563842
Make sure you know about windows registry if you want to do the following:

Run regedit on every machine to check the settings for Jet under

HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\Jet 3.5

make sure every machine is the same (change the base value to decimal so that you know what you are looking at).

If every machine is the same, try bring up the value for MaxLocksPerfile.
0
 

Author Comment

by:guilbeauj
ID: 2563855
Chewhoung,

What is MaxLocksPerfile?
What does it do?
What should be the most appropriate value for MaxLocksPerfile?

It seems that all the Run-Time error '3008' occured ever since the application got moved onto a machine with Windows NT 4.0 environment. Is it something special that could have generated, directly or indirectly, such an error?

Thanks,

Jean-Philippe Guilbeau
0
 
LVL 5

Expert Comment

by:chewhoung
ID: 2563886
MaxLocksPerFile = Maximum locks allow to a mdb.
I'm not really sure what it will do.
I have read some comment in this area that they use 20000 for that value. The default is 9500.

how is your application being setup?
one typical setup is:
every client computer has a mdb that has linked table to a mdb in a server computer.

if your setup is: one mdb file in the server and every client computer is running that mdb in the server, you should be thinking of setting up the above environment.
0
 

Author Comment

by:guilbeauj
ID: 2564031
Chewhoung,

The application (.mdb file) is located on one machine and each customer is using it through a shortcut.

I have been thinking of an .mdb on each client computer with linked tables to an .mdb in a server computer but I have denied that possibility because, as the boss here is constantly asking for modifications or additions of feature, there would be too many dependencies upon replications for updating.

Please, also keep in mind that that error occurs on a random basis: sometimes, there can be days without encountering it and, at other times, the error is encountered twice a day.  That really is what bothers me!!!

Thanks,

Jean-Philippe Guilbeau
0
 
LVL 5

Accepted Solution

by:
chewhoung earned 200 total points
ID: 2564196
How many client machine do you have? Does every client machine has their own Access 97 installed?

Backup your mdb before you do this.

One other way you can try is split your mdb into 2. One with tables only (data mdb), one with all other objects (app mdb).
Link app mdb with tables from data mdb and put this 2 files on the server machine.
Link the shortcut in every client machine to this app mdb.
Then see if the error occur often.


And,
you should make sure all the setting in the registry key I mention above is same at all client machine.
I mean all setting under:

HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\Jet 3.5

If all is same, try bring up the value for MaxLocksPerfile for 2 machine and see what happen. Restart machine after set new value.
0
 

Author Comment

by:guilbeauj
ID: 2572475
Thank you, Chewhoung, for your help!
As I do not want you to keep waiting for the promised points, I'll grant them to you even if it'll take a while before I'll see if all your suggestions did solve my problem.

Thanks again,

Jean-Philippe Guilbeau
0
 
LVL 5

Expert Comment

by:chewhoung
ID: 2649248
hi guibeaui,
how is the thing going on? everything ok?
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

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

Suggested Solutions

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Familiarize people with the process of utilizing SQL Server stored procedures 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 Micr…

813 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now