Office Password Recovery
Assured recovery of excel, access, powerpoint, outlook, word, vba project or other office items. Do not break office algorithm and find actual paasword. supports microsoft office 2003 to 2007.
download download
Free Download
Resolved: �Not a valid password� error message in .mdb (Microsoft access database) file

You might be surprised with the "Not a valid password" error after setting out password in Microsoft database (.mdb) file. After setting password in Microsoft access database, as you try to login with your current password, you may not be able to login with the above error message. However, your password is correct still you will be unable to unlock ms database file.

Why "Not a valid password" error occurs?

This error occurs because of incorrect password format. If you have recently set your password and your password ends with backslash character (\) then ms database denies you to login with that password and raises �Not a valid password� error.

Most of the people uses auto password generator program for setting out the password. However, these types of program returns super strong password with the combination of all the uppercase, lowercase, special character and symbols but some password also ends with backslash (\). Due to lack of knowledge people use the password for their .mdb file and finally they lost control from their access database file.

How to recover or reset .mdb or Microsoft access database file password?

Unfortunately, there is no way to reset password for .mdb file. If you have little bit of programming knowledge then you can get back your database again by using the following method. You will have to create new database and import object of old database to new database.
Before writing the code, make sure that you take reference of the Microsoft DAO 3.5 Object Library. To take references do the following steps:

  • Click on the Tools menu in Visual Basic Editor
  • Click on Reference
  • Check the Microsoft DAO 3.6 Object Library Checkbox

After doing that, write of paste the following code in visual basic editor and debug the code. But before debugging the code, replace your old password with the password that is mentioned in code.

Option Compare Database
Option Explicit
Public Function ImportDb(strPath As String) As Boolean
On Error Resume Next

Dim db As Database 'Database to import.
Dim td As TableDef 'Table definitions in the database.
Dim strTDef As String 'Name of the table or the query to import.
Dim qd As QueryDef 'Query definitions in the database.
Dim doc As Document 'Documents in the database.
Dim strCntName As String 'Document container name.
Dim x As Integer 'For looping.
Dim cntContainer As Container 'Containers in the database.
Dim strDocName As String 'Name of the document.
Dim intConst As Integer
Dim cdb As Database 'Current database.
Dim rel As Relation 'Relation to copy.
Dim nrel As Relation 'Relation to create.
Dim strRName As String 'Copied relation's name.
Dim strTName As String 'Relation table name.
Dim strFTName As String 'Relation foreign table name.
Dim varAtt As Variant 'Attributes of the relation.
Dim fld As Field 'Field(s) in the relation to copy.
Dim strFName As String 'Name of the field to append.
Dim strFFName As String 'Foreign name of the field to append.

'Open the database that contains objects to import.

Set db = DBEngine.Workspaces(0).OpenDatabase(strPath, False, False, "MS Access;PWD=")

'Import tables from the specified Access database.

For Each td In db.TableDefs
strTDef = td.Name
If Left(strTDef, 4) <> "MSys" Then
DoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acTable, _ strTDef, strTDef, False
End If

'Import queries.

For Each qd In db.QueryDefs
strTDef = qd.Name
DoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acQuery, _ strTDef, strTDef, False

'Copy relationships to the current database.

Set cdb = CurrentDb
For Each rel In db.Relations
With rel

'Get the properties of the relation to copy.

strRName = .Name
strTName = .Table
strFTName = .ForeignTable
varAtt = .Attributes

'Create a relation in the current database with the same properties.

Set nrel = cdb.CreateRelation(strRName, strTName, strFTName, varAtt)
For Each fld In .Fields
strFName = fld.Name
strFFName = fld.ForeignName
nrel.Fields.Append nrel.CreateField(strFName)
nrel.Fields(strFName).ForeignName = strFFName

cdb.Relations.Append nrel
End With

'Loop through the containers and import all documents.

For x = 1 To 4
Select Case x
Case 1
strCntName = "Forms"
intConst = acForm

Case 2
strCntName = "Reports"
intConst = acReport

Case 3
strCntName = "Scripts"
intConst = acMacro

Case 4
strCntName = "Modules"
intConst = acModule

End Select
Set cntContainer = db.Containers(strCntName)
For Each doc In cntContainer.Documents
strDocName = doc.Name
DoCmd.TransferDatabase acImport, "Microsoft Access", strPath, intConst, _ strDocName, strDocName
'Debug.Print strDocName 'for debugging will list document names in the Debug window.
Next doc
Next x

'Clean up variables to recover memory.

Set fld = Nothing
Set nrel = Nothing
Set rel = Nothing
Set cdb = Nothing
Set td = Nothing
Set qd = Nothing
Set cntContainer = Nothing

Set db = Nothing

msgbox "The database has been imported successfully."
ImportDb = True
End Function

To debug this code go to the immediate window and type the following command and then press Enter
?ImportDb("<Full path of your Access database>")
After running this code successfully, now you can use newly created database with your old data.

download download

The above method is not suitable for the people that haven�t too much programming skills. It is also not user friendly and also difficult to execute. Instead of this, the best way is use any effective third party solution that could break your old password and allows you to set new password. Microsoft office password recovery is such type of tool that allows you to reset your password easily. Not only it breaks your password but also recovers the lost or forgotten original Microsoft access database password. You can download this software for free by clicking on the download button.

9 out of 10 based on 38 ratings.
6 user reviews.