Access 2007 now supports standard encryption algorithms that are included with Windows. To maintain backward compatibility with previous versions of Access, this feature is only available for the new file formats. Database encryption combines two features that have existed in Jet for some time: database passwords and encoding. You can decrypt the database by removing the database password.
You can set the database password using DAO in several ways:
Call the NewPassword method of the Database object.
Compact an existing database and include a password using the CompactDatabase method.
Create a new database using the CreateDatabase method and specify the password.
Using ActiveX Data Objects (ADO), you can run a query that calls ALTER DATABASE PASSWORD, but this does not work from DAO.
Let's look at the three ways you can set a database password using DAO:
Using the NewPassword method
Compacting a database
Creating a new database
Setting the database password requires that the database is opened exclusively.
To change the password for the current database without creating a new database, you can use the NewPassword method on the Database object like this:
Sub ChangePassword(strOldPassword As String, strNewPassword As String) 'Possible errors Const ERR_DB_OPENED_SHARED As Long = 3621 Const ERR_INVALID_PASSWORD As Long = 3031 On Error GoTo ChangePasswordErrors Dim dbs As DAO.Database ...