The Microsoft Access database engine could not find the object "MSysDb".

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Aftab Ahmad
    New Member
    • Jan 2015
    • 49

    The Microsoft Access database engine could not find the object "MSysDb".

    Hope all doing good. So, I have a Database of Microsoft Access which was working perfectly till yesterday. It was closed properly. Now, whenever I want to open my that very database it gives me an error of "The Microsoft Access database engine could not find the object "MSysDb". Make sure the object exists and that you spell its name and the path name correctly. If "MSysDb" is not a local object, check your network connection or contact the server administrator".
    I have various important records in it. The other two problems are that (1) the coding of database is protected with vba, (2) The bypass key i.e., Shift key is also disabled. One more thing that there is a startup form of "Login" which was appeared whenever I opened the file. Please suggest me the simple method to open my database as records in it are very important to me.

    Thanks in advance.
  • NeoPa
    Recognized Expert Moderator MVP
    • Oct 2006
    • 32633

    #2
    Hi Aftab.

    Let me start by saying that such a question raises red flags here as you're asking about how to break into a database that's had some levels of protection applied.

    I know you aren't new here, and I checked that you seem to be a bona fide member who asks reasonable questions, but you've also asked before about getting into password-protected VBA projects.

    This leaves me wondering why you wouldn't already know the VBA password of a database if it's one you have responsibility for. You don't say enough about the startup login form for me to recognise whether or not it's automatic, but if it's not then why can this happen without you making it happen if it's your database.

    I can't be sure, but I'm never comfortable sharing (publicly) any techniques that could be used maliciously by any bad-actors. I would need convincing before I shared it even directly with any member. Feel free to convince me, but I'm not there yet.

    Comment

    • Aftab Ahmad
      New Member
      • Jan 2015
      • 49

      #3
      No. That's not what I meant.. Maybe this is due to my bad English as it is not my native language. My problem is simple which is how can I fix the subject error i.e., "The Microsoft Access database engine could not find the object "MSysDb". Make sure the object exists and that you spell its name and the path name correctly. If "MSysDb" is not a local object, check your network connection or contact the server administrator". Definitely, i have a vba password of my file. I remember it correctly. The two issues I mentioned above were only done so that I could provide details to the developers. I am not going to do anything illegal. The only problem is that every time I open my file, I see this error and my file doesn't open. I have perused my other several database by showing system tables but nothing found any table called "MSysDb".

      Comment

      • NeoPa
        Recognized Expert Moderator MVP
        • Oct 2006
        • 32633

        #4
        OK. Sorry if I misinterpreted your question. I guess that leaves us looking into the table [MSysDb] (I assume the case is correct as you've used mixed case when referring to it). Getting that right is obviously important so well done for doing that.

        This is neither one I recognise, nor one I can find in my database, so I had a quick look around the web for you and the concensus seems to be that your copy of the database is corrupted. Very little anywhere I could find that explains what the table's for or why such a message might indicate it's corrupted, but that seems to be what you're dealing with anyway.

        So, how good are your backups? If you need to do a Compact & Repair on a damaged copy (because you have no current/reliable backups) then at least take a backup of the damaged file first before proceeding with the C&R.

        Good luck.

        Comment

        • Aftab Ahmad
          New Member
          • Jan 2015
          • 49

          #5
          Thanks NeoPa. You alwasy reply me. The issue has been solved by using a third party software named "Cimaware OfficeFix". Although, the all objects other than tables have not recovered however, as I said earlier, my records are important. So, I recovered the records through said software which is sufficient as I have a blank database of this project in which I have easily import all data. Thanks again.

          Comment

          • NeoPa
            Recognized Expert Moderator MVP
            • Oct 2006
            • 32633

            #6
            I'm glad that worked for you Aftab. I hope you now recognise that my previous question about backups was pointing you towards an understanding of how important they are and, as someone who works in this area, how responsible you are individually for ensuring your databases, and all those you manage at your work - and - to a certain extent those of all your family if they have any - get backed up so that you always have a reliable version to go back to in case of corruption.

            As it happens, Access / Jet / ACE databases have quite a tendency to pick up corruptions of one kind and another, so it's even more important when dealing with these.

            Comment

            • isladogs
              Recognized Expert Moderator Contributor
              • Jul 2007
              • 479

              #7
              For info, MSysDb is a system object present in all Access databases. It is not a system table and cannot be directly accessed / queried.
              MSysDb stores the database properties as shown in the Database Documenter. See my article: Long Value Binary fields
              Its unusual for that object to get corrupted but if it does so, your only course of action is to see what you can recover either using built-in Access tools or recovery software.
              Last edited by isladogs; May 5 '25, 10:02 PM.

              Comment

              Working...