Solved

MDE Conversion Error - Other solution...

Posted on 2004-04-17
12
671 Views
Last Modified: 2013-12-05
I would like to create an MDE for a 97 database that I semi-successfully converted to 2003. When I try to create the MDE from it, it informs me with only the following explaination:
***
This error is usually associated with compiling a large database into an MDE file.  Due to the method used to compile the database, a considerable number of TableID references are created for each table.  The Microsoft Jet database engine version 4.0 can only create a maximum of 2048 open TableIDs at one time.  Exporting a database as an MDE potentially can exceed this limit if the database has a large number of objects (table, macro, form, report, etc).
There is no accurate method to estimate the number of TableIDs the Jet database engine uses during the process of compiling a database as an MDE.  However, each VBA module and each form uses one TableID, as a result, if the database has 500 forms, and each form's HasModule property is set to Yes, as many as 1,000 TableIDs are used.
More information about this error message online.
 ***
I don't think this is the real problem but how can I tell? I only have a total of 30+- objects so I know it's not I've exceded the limit. Could my problem be that I am dealing with linked tables?

Let me get to my question, if I cannot create an MDE from this, is there a method or tool to create a form in VB .NET from a form in Access automatically?
0
Comment
Question by:j_coreil
  • 8
  • 4
12 Comments
 
LVL 54

Expert Comment

by:nico5038
ID: 10850268
I would start with compiling the A97 database first as in most cases a compile error causes trouble.
Do you still have A97 available ?

Nic;o)
0
 
LVL 2

Author Comment

by:j_coreil
ID: 10851459
Yes I do still have a copy of the A97 database. I don't have a copy of A97 and A2003 makes me convert it first, can you explain a little more.
0
 
LVL 54

Expert Comment

by:nico5038
ID: 10851595
It would be preferable to do a Debug/Compile all modules first with A97 before the migration to A2003.
When zipped less then 2Mb you can drop it in my mail and I can do it for you.

Nic;o)
(Click membername for email)
0
 
LVL 54

Expert Comment

by:nico5038
ID: 10852528
Hi j_coreil,

The database compiles with no errors in A97 !
There's however a relink tables module that's probably causing all the trouble.

Personally I use a simple relink routine like:

Function fncRelink()
'function to relink tables to a "_be.mdb" database in the same folder as the frontend

Dim td As TableDef

For Each td In CurrentDb.TableDefs
  If Len(td.Connect) > 0 Then
     td.Connect = ";DATABASE=" & Left(CurrentDb.Name, Len(CurrentDb.Name) - 4) & "_be.mdb"
     td.RefreshLink
  End If
Next

End Function

You just have to be able to change the line:
td.Connect = ";DATABASE=" & Left(CurrentDb.Name, Len(CurrentDb.Name) - 4) & "_be.mdb"

into the path/filename you need.
As you use a .mde I guess the backend will be located elsewhere and perhaps even a flexible approach will be needed when you install the application on multiple PC's in different folders.

Nic;o)
0
 
LVL 54

Expert Comment

by:nico5038
ID: 10852543
Oops forgot to mention that there's a reference in the .mdb to DAO, this reference will have to be created in your A2003 version before generating the .mde.

Just press CTRL+G to get into VBA and goto Tools/References. There scroll to the "Microsoft DAO version #.##" library and check it. (The version number isn't important)

Nic;o)
0
 
LVL 54

Expert Comment

by:nico5038
ID: 10852871
0
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.

 
LVL 54

Expert Comment

by:nico5038
ID: 10853058
Same problem here:
http://www.experts-exchange.com/Databases/MS_Access/Q_20957996.html#10853020

Just check alan's proposal for "light" forms.

Nic;o)
0
 
LVL 2

Author Comment

by:j_coreil
ID: 10853105
So you are thinking that if I get past this error then I could create a MDE?

AND

To get past this error, I should A)redo the linking B)make lightweight forms?
0
 
LVL 2

Author Comment

by:j_coreil
ID: 10853112
Would it be easier if I just redid this entire database in 2003 using importing but not have the linking? You've seen the database, all there is to it is like 2-3 real tables they use and 3 forms with one being a splashscreen.
0
 
LVL 54

Expert Comment

by:nico5038
ID: 10853229
Not sure or that will help, basically the converted database shouldn't be different from the A97 one.
I did try the conversion and .mde conversion from A97 to A2000 and from A97 to A2002 and both versions created a working .mde (Have no A2003 yet)
So it looks like 2003 is the trouble maker.
Wouldn't a 2002 .mde work in your situation ?
You should be able to create an A2002 copy using the database "convert to" utility.

Nic;o)
0
 
LVL 2

Author Comment

by:j_coreil
ID: 10853560
Nic;o)

I've taken out everything I don't need and successfully converted it to a 1 database MDE file. I thought making a MDE file would allow me to run this as a standalone application but I was wrong. Besides creating a VB app, can I use sometype of runtime engine so I don't have to install Access on the target machine?
0
 
LVL 54

Accepted Solution

by:
nico5038 earned 250 total points
ID: 10853869
Yes, but for that you need the .Net developer as far as I know.
I've had the A2000 developer edition, but the Access Runtime isn't for me "the way to go" as it's forcing an extra test in the runtime environment.

Personally I would go for a VB frontend solution in this case and then you can use the .mdb data with the free MDAC for Jet engine 4.0 or another RDBMS.

Nic;o)
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
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.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

896 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

13 Experts available now in Live!

Get 1:1 Help Now