Unable to create MDE access file,

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • BobS
    New Member
    • Jul 2010
    • 10

    #1

    Unable to create MDE access file,

    Below is the error I get when I try to create a MDE file, any suggestions? I have 7 Tables, 14 forms & subforms. Problem below talks about 500 forms, I am not even close to that number. Db's contain less then 300 records. Additionally when I delete all but one form, then it will create MDE file.



    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.
  • hype261
    New Member
    • Apr 2010
    • 207

    #2
    Originally posted by BobS
    Below is the error I get when I try to create a MDE file, any suggestions? I have 7 Tables, 14 forms & subforms. Problem below talks about 500 forms, I am not even close to that number. Db's contain less then 300 records. Additionally when I delete all but one form, then it will create MDE file.



    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.
    Have you tried importing all your tables, forms, and other stuff into a brand new database and then trying to make an MDE out of it?

    Comment

    • NeoPa
      Recognized Expert Moderator MVP
      • Oct 2006
      • 32669

      #3
      Bob,

      You possibly need to reread the error message, as it is not trying to imply you have 500 forms at all (No need to panic here).

      It is saying the current problem is usually associated with too many TableIDs. It then goes on to explain some of the reasons why this may be.

      In your case I suspect this is more likely associated with a corruption. Try doing a Compact and Repair (from Tools / Database Utilities). If that doesn't work for you then importing the objects into a new database may well be your only remaining option.

      Good luck with it anyway and Welcome to Bytes!

      Comment

      • BobS
        New Member
        • Jul 2010
        • 10

        #4
        Originally posted by NeoPa
        Bob,

        You possibly need to reread the error message, as it is not trying to imply you have 500 forms at all (No need to panic here).

        It is saying the current problem is usually associated with too many TableIDs. It then goes on to explain some of the reasons why this may be.

        In your case I suspect this is more likely associated with a corruption. Try doing a Compact and Repair (from Tools / Database Utilities). If that doesn't work for you then importing the objects into a new database may well be your only remaining option.

        Good luck with it anyway and Welcome to Bytes!
        Thanks for your reply but I found the answer had nothing to do with the database. I had a compile error (VBA) on two of my forms. Everything executed find, this was a syntix problem on something that should not had been coded. When I removed it, I could create a MDE.

        Comment

        • missinglinq
          Recognized Expert Specialist
          • Nov 2006
          • 3533

          #5
          Glad you got it fixed! As you've found out, a database should always be compiled and any errors fixed before trying to create an MDE file!

          Welcome to Bytes!

          Linq ;0)>

          Comment

          • NeoPa
            Recognized Expert Moderator MVP
            • Oct 2006
            • 32669

            #6
            Absolutely. If this little episode only teaches you to use that technique in every case, then you will have learnt a great deal IMHO.

            Comment

            Working...