2 users... good! 3 users... crash (unrecognized format)

sambo

Registered User.
Local time
Today, 06:11
Joined
Aug 29, 2002
Messages
289
Half of my development was spent using a Win2k machine and the other half was spent using WinXP. However, both had the exact same version of MS Access.

My db works perfectly with 1 and even 2 users, but when a third user starts parusing around I get a 3343 error: "Unrecognized Database Format". At this time I have to exit all users and Compact and Repair.

I use a lot of DAO references in my code, but I cover my tracks by using the Transaction Methods.

I tried removing the ADO 2.1 reference all together, but this caused problems, so now I have a Reference to both DAO 3.6 and ADO 2.1.

I'm nearing the end of my Access rope here. I'm really not sure how to duplicate the problem because sometimes it happens, but sometimes it doesn't.

Help Please...
 
Do you compact on close? Is this db split up into a backend and front end...if not you should. Open the references section and check if any references have been checked off.

Jon
 
All the references are full intact on each machine. I have not split the db yet because I have not been able to test and debug to my satisfaction.

Would splitting the db help to solve this problem? If so, how?

I can implement compact on close, but I'm fairly sure this won't do anything for my current situation. I don't even get a chance to close the db because it is inevitably corrupted within a couple of minutes of use. What I would really like to do is keep it from being corrupted in the first place.

I really don't think that DAO 3.51 has ever been a library that I have referenced. But theoretically, had I built part of this .mdb using 3.51 and part of it using 3.6, could this be causing a problem?

I really am stuck on this one.

Please correspond..
 
Set your referencet o DAO 3.6x.
Split your db...many db's become very corrupted when they are not split..especially in a multi user env.
Jon
 
I'll be working on splitting this thing all day today. Unfortunately, I'm already getting a bunch of funny errors that look like they will keep me busy for a while.

Are there any Methods or procedures that are not allowed over a split db. From what I can see so far, dbOpenTable type Recordsets are not allowed. Any other quirky rules I should know about?
 
not available? everything is still available...i think your problem is references and not access.

jon
 
I think we are both right...
Everything is still available, except dbOpenTable type Recordsets.

I was using the .AddNew method to add records all over the place in my code. This has forced me to use Append Queries instead.
Append queries are much more efficient anyways. I'm almost done, so I guess I'll be testing this afternoon.

Thanks Jon..
 
Thanks Tim,
I'll take a look..

I've split my db and it is working. However, it is now going VERY, VERY SLOW. It takes forever to load forms especially. Once the forms are loaded its not bad.

Any Remedies??
 
That's funny Tim..
As I was shocking my brain early this morning in the shower, I thought of that exact same thing (speaking of loading all forms and hiding them). It's good to hear someone else suggesting it. That makes me feel a little better about the idea.

Why does it take a long time to load objects, but requerying/updating data takes no time at all? It seems like it should be the other way around since the object db (front end) is already located on each user's local machine and the data is out on the network.
 
You might also try adding a hidden field with a link to a table on your BE.

I once read part of the reason forms take so long to load intially has to do with the creation of the ldb file, so if on you main form you have a "permanent" link to your backend tables once the form is open the ldb will be created and not removed until the application is closed. (I created a table called tblholdlink with only one record, then put a hidden text box to this field on the main form)

I noticed a significant improvement in performance once I added this to my main form, and it hasn't caused me any problems yet.
 
sambo said:
I'll be working on splitting this thing all day today. Unfortunately, I'm already getting a bunch of funny errors that look like they will keep me busy for a while.

Are there any Methods or procedures that are not allowed over a split db. From what I can see so far, dbOpenTable type Recordsets are not allowed. Any other quirky rules I should know about?
Error 3048 - "Can't open any more databases".
Had a problem with a Access 97 split db that did not occur when it wasn't split. A form with a subform would not work and I had to redesign the form to find another way to work.

I am not sure if this is version specific or not. It sounds like it has more to do with how Jet works.
 

Users who are viewing this thread

Back
Top Bottom