Corrupted Access Database?

Hello everyone,
I have a completed MS Access database , it was created in Access 2003 cleared and operates in an Access 2007 environment.
The database was working great; entering data in forms, retrieving data, run reports, etc. All of a sudden, a user was handed the database now it has become very unstable and acting erratically.
When I fix this issue, how can I prevent this from happening or how to protect the database and codes from becoming unstable or tamper proof in the future?
I am using Access 2007.
Thanks in advance

Post your answer or comment

comments powered by Disqus
Last night I found that my BLOB data is missed from my access database. And due to this my MS Access program hanged a lot while opening the that database file (I think so). Whenever I tried to open my database file it hanged and then suddenly stopped working. Then I came to know that the file gets damaged. I tried some database recovery applications but still the BLOB data is missed from my new repaired file. Anything can be done here? Please help.

I continue to have access crash, very frequently. On a system that's otherwise fine. Access is fully up to date with the latest patches, but it frequently says it's out of memory (though the system hasn't used half what's available) and it crashes.

Sometimes it corrupts the database such that nothing can repair it and i have to go to another copy. It's usually a form that can never be opened again and if I do will instantly crash access or it does nothing when I try to open the form.

What's the deal?

It's just corrupted my main form and I have to go back to yesterday's database. I've lost an entire day's work.
It completely crashes every time I try to open the form.
I've even gone so far as to delete the form. Perform a repair/compact. Then tried importing the form from the known good database, it crashes on import.

Is there anything I can do or did I lose a day's work?

Not sure if this fits under the 'security' or 'general' category...

Recently came across a very strange problem. Just wondering if anyone has heard of something similar, or knows a way around it.

Here at work, we have this small little application that uses a Microsoft Access database. It gets updated on a daily basis with an automated process, but usually we don't need to pay attention to it.

We never bothered to put a password on the database (since it wasn't a critical system, and MS Access security isn't that strong anyways.) However, we did set up access rights on the database to (hopefully) prevent tampering.

A few days ago, we noticed the application that updates the database started failing with an 'invalid password' message. Furthermore, we can't even open the database because we don't know the password (which, like I said, we never set up to begin with.) So, I figure there's 2 possibilities, either we're a victim of some sort of virus or hacker (which seems very strange), or more likely the database has somehow become corrupted.

Has anyone ever heard of such a problem before? (specifically, a corrupt database suddenly 'requiring' a password.) Anyone have any problems for fixing the problem? (We can't run 'repair/compact' because we don't have the password.)

Can anyone recommend any 3rd party tools to fix the problem, either by repairing the database , or for detecting the password? (I've seen various share-ware tools for detecting the password, but I'm not sure how good any of them are.)

I have an Access database that is being corrupted on a weekly basis. It is being used by multiple people. Is there a way to script a scheduled repair then compact in 2K?

I have prepared an access database on a shared drive location(lan) with 5 tables. The main table has over 110 fields and is linked to a form. On an average the table stores 12000 records, which are updated via a form.

Normally, 7 users work on this form and do add/change/delete operations on the records.

The frequent issues I face are:
Corruption of records.
"Could not update, currently locked" errors.

I have constantly tried compact and repair option, but the same does not give required results.

Kindy advise a solution.

I'm having a problem on a workstation that I've always used to create databases in Access. When I open any of my saved .mdb's I get a the error "end query expression" with the table name. The message gives me the option to click OK or Help and Help refers to " in query expression . (Error 3075)".

I've copied the .mdb's to another PC with Access installed and they open with no problem and I've removed and reinstalled Access on the problematic PC but still the same problem.

Also, I have a UPS Worldship shipping application that uses an Access database and when it opens it gives me a Micrsoft Visual C++ runtime error then closes, which may or may not be related.

I get the sense that something is corrupted in either Access or Windows XP but I'm not sure where else to look.

Any ideas?



Whenever I opening my access database it throws an error message and ask me to close the application. Due to this I ain't able to update my access database. Some are saying it corruption, is it? Please help me. I have no better idea here except the importing option. But before that I wanna know this: is this really corruption?

I've been using Lotus Approach and am trying to migrate to Access 2007. My primary database in Approach has two dbf tables. In Access I went to external data, and with no effort linked to one of them (I want links so I can use both Access and Approach). When I try to do the exact same thing with the other dbf, I get a message that says "the Microsoft Office Access database engine could not find the object CDCompTitle.dbf" and to make sure it exists and is spelled correctly. Since I clicked the browse button to get there it IS there and IS spelled correctly.

I've been searching online for a few days with no results. Several responses to others with this problem said the dbf file is corrupted. I took my dbf (which works with no problem in Approach) and exported to a new file and got the same results on the new file. Other suggestions were about the Jet Engine, updates, etc. but I have SP 2 for Office 2007 and I think that's the latest.

Any suggestions?

I have a user who has a 2003 Access database where the Access compact and repair tool is used everyday.

On Tuesday, during the time when the user was running this utility, the user received an error: "The database could not be found. The file may have been moved, renamed, deleted or corrupted. Open ODBC to locate or repair the file then try re-launching DRCMS."

Since this point, we cannot open the database because it was obviously corrupted in some way. The error received now is "Unrecognized database format "

Is there any way to save this file or does anyone know what happened?


Hi. My name is Khalid Shah. I am from Pakistan. I develop access database. I am not sure about how to distribute my database safely, in order not to let anyone see my database or modify it. I am really looking forward for this cause and hope for a great support from this forum. Thanks!

hi guys,

i am creating a report in an access databse. in this report i need to show data from a spreadsheet that is automatically updating every day.

how can i transfer this data into my databse in order to show it in the report. is there any way that i can populate a table with the data from the spreadsheet?

ps. i am a beginner in access databases and i would appreciate if you can help me with this.



When I tried to open a dap using IE, I got this error message said the web component cannot open the Access database (from where the dap comes), also some security warning messages. Does anyone know how to solve the problem? Thanks!



I was wondering if it was possible to capture emails into an access database automatically? I've created a webform which submits to a generic email address. Since all the forms are formatted the same, is it possible for them to be automatically captured in the database, thereby saving loads of typing time?



I want on my switchboard a button so that we can import the access database .
Or will need to write a code for the same?

hi i have written a database for someone in access. They now want to have another user on the same wireless hub use the database at the *same time* as the first user ?

I don't know how to do it or how it can if it can be done ? I also thought of writing some forms in visual baseic (.net) to access the access database from the other computer. I don't know if you can do this either ?

I'm guessing that I have to rewrite the database in SQL server and visual basic, If i want to have two users access the database at the same time. ?



Have some old plc (Programmable Logic Controllers) at home... i want these to print records into an access database on the network, (A PC in the same house). I have a software that have this feature, but it isnt open source, so i cant find out how they did it.. in the PLCs you can set up network printers.. so that they print one line at a time... the bought software i mentioned above is acting as an network printer.. the software look and feel looks really visual basic to me.. so i think there is a way to emulate a printer in VBA... that receives Lines from these PLCs... but i dont know how!? any experts out there? emulate printer? printer server? i dont know!

please help me!

- Roy Riggsjø

I'm working on building a system that will allow me to close a user's database. We have too much trouble with users leaving databases open overnight.

1) Does anyone have a suggestion how to do this or a method they have tried that worked or didn't work?

2) Would it be possible for me to design something in VB6 that runs on the computer and can "talk" to an Access database without using text files? How can an outside program talk to an Access database?

In my preliminary plans I figured I'd use the Winsock control to listen on a UDP port for a close request and then the program would use an intelligent method to close the database.

Gday Guys,

I have an issue, well i have lots, but only the one im dealing with right now.

I have an access database that i have made with a form containing buttons, i would like these buttons to be able to link to other databases (external) using VB code, what i used to use was:

Private Sub ear_Click()
On Error GoTo Err_ear_Click
Dim x As Integer
Dim AppName As String
AppName = "C:Program FilesMicrosoft Office 2003OFFICE11Msaccess.exe serveraddressdatabase.mdb"
x = Shell(AppName, 1)
Exit Sub
MsgBox Err.Description
Resume Exit_ear_Click

End Sub

This worked fine in office 2000 and prior, but have recently been forced to update to 2003 as the minimum, so these buttons have stopped working properly.

The other issue i have is that the reference to the installed office (msaccess.exe file), i would like to remove this reference completely, so as its not linked in the same manner due to the difference in files needed between pcs on the network.....

If you have any idea of somethign i can try, your help will be greatly appreciated.

Thanks for your help.

I cannot import a linux text file into my access database using the following code...

	    Open spspath For Input As #1
    While Not EOF(1)
        Line Input #1, strline

Can I modify my code to handle linux or windows text files?

And a bit of background:
I have a database where I will be asking multiple users to import a number of text files, some from Windows and some from Linux. Up till now I am not able to import the Linux files. I realize I could insist that users convert their files using something like unix2dos command, but I'd like to come up with a more user friendly solution.


I have an existing Access database application that I have been asked whether I could connect, via USB, to an external security system from which to read and store data.

At this stage pretty much all I know is that there is a DLL file that will create .TXT files that my database would then be able to read and convert into usable data.

Has anyone any experience or knowledge in this area?

e.g. VB code to pass commands to the external hardware (using/via the DLL perhaps) and calling/creating the required TXT files?

I need to conduct an audit of all the access databases that exist in the company i have just joined. According to my list we have 600+ !!

I have built a list of all files on the shared drives, so can filter by .mdb and .accdb extensions..

We have a number of different versions from 97 - 2007.

I need to extract linked table connection info for each database.

How can i do this?

How can i adapt the code in this link to extract table connection info?

typically using set db = currentdb I would iterate thru all the tabledefs.. but how can i do this with external db's

Also, will i be able to run it against db's created with previous versions.


I am trying to use VBA to open up an access database, enter values into a record from a series of defined names into a temporary table, then eventually run an append/update query to copy this record into the main table.

At the moment I am struggling with the first step, which is giving me the error:

runtime error 214721783(80040e4d) Authentication failed

This is the code:

	Sub SelectDB()
'Select Database file location
PEMdb  = Application.GetOpenFilename(FileFilter:="Access Files (*.mdb),  *.mdb", Title:="Please select the location of the
Personnel &  Equipment Management Database")
If PEMdb = False Then
' They pressed Cancel
MsgBox "The operation was cancelled", vbInformation, "Import Cancelled"

Exit Sub
Workbooks.Open Filename:=PEMdb
End If
End Sub

Sub Validate_Import_1()
'Validate Data before importing

End Sub

Sub Import_Stage_1()
'Export data from excel into Access DB

Call SelectDB

Dim cn As ADODB.Connection
Dim cmPerDet As ADODB.Command

Set cn = New ADODB.Connection
Set cmPerDet = New ADODB.Command

With cn
.CommandTimeout = 0
.Provider = "Microsoft.Jet.OLEDB.4.0;"
.ConnectionString = "Data Source=" & PEMdb & "; Persist Security Info=False"
End With

With cmPerDet
.CommandText  = "Insert into tbl_TEMP_Personnel_Details(Employee ID, First Name, Last  Name) Values ('" +
Range("Employee_ID").Text + "','" +  Range("First_Name").Text + "','" + Range("Last_Name").Text + "')"
.ActiveConnection = cn

End With

End Sub

The database will eventually be split with the back-end on a network drive, but at the moment I am getting this error even when it's located on my own desktop.

Any suggestions? It's the .Open line that is highlighted by the debugger. I have tried both changing selectDB() from a sub to a function and removing it completely (replacing PEMdb with a path & filename) but to no avail...



I want to be able to close one access database by using another. I did have some code that involved the "GetObject("FilePathName") command, and it worked but of course I didn't save it and I managed to lose it
What I'm looking for is a code that when I have it attached to a button on a form it will close another (specific) database that is currently open at the same time and not error out if the database to be closed is for some reason not open. Any ideas?


I need to import a number of access databases which are emailed via outlook. firstly the databases are named using a date prefix i.e 18022002.mdb i need to import this database into a master database. The process needs to be automated so when the user open the master database it automatically checks for these new database files and imports them . Do i use the transfer database command ?. Is there anyway of pull the files from the outlook inbox? straight into access?.


Not finding an answer? Try a Google search.