Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Run-Time Error 3008

Posted on 2000-02-25
11
Medium Priority
?
987 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 600 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

NEW Veeam Backup for Microsoft Office 365 1.5

With Office 365, it’s your data and your responsibility to protect it. NEW Veeam Backup for Microsoft Office 365 eliminates the risk of losing access to your Office 365 data.

Question has a verified solution.

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

Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses

916 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