Database encryption has nothing to do with security. However, you can use
database encryption to prevent someone from using a file or disk editor to
read and write data in a Microsoft Access .MDB file. This article shows by
example how to encrypt a Microsoft Access database file in Microsoft Visual
Basic version 3.0 for Windows.
Microsoft Access reads and writes all data a page at a time. Each page is
always 2K in size. Encryption is done at the page level, not at the data
level. This means the encryption process has no knowledge of what is on the
page, only that there is 2K of data that needs to be encrypted and written.
or read and decrypted.
Everything in a Microsoft Access .MDB database file is encrypted, including
tables, queries, forms, indexes, and so on. Microsoft Access uses the RSA
company algorithm for database encryption.
The overhead involved in encrypting and decrypting causes is a performance
degradation of approximately 10-15% in encrypted databases. Encrypted files
cannot be compressed using tools such as PKZip, Stacker, MS-DOS version 6
DoubleSpace, and so on.
Encryption in Visual Basic
Use the CompactDatabase statement in Microsoft Visual Basic version 3.0 for
Windows to encrypt a Microsoft Access database file. For more information
on the CompactDatabase statement, review pages 90-92 in the Visual Basic
version 3.0 "Language Reference" manual.
Step-by-Step Encryption Example
- Start Visual Basic or from the File menu, choose New Project (ALT, F, N)
if Visual Basic is already running. Form1 is created by default.
- From the Windows menu, choose Data Manager.
- In Data Manager, choose New Database from the File menu. Then select
either Microsoft Access 1.0 or Microsoft Access 1.1.
- Enter the name TESTING.MDB for the Microsoft Access file name that you
are about to create.
- Click the New button and enter Table1 for the table name.
- Click the Add button and enter First Name as the Field Name. Then
select Text for the Field Type and enter 15 as the Field Size.
- Click the Add button for Indexes, and enter First Name Index as the
Index Name. Then select Unique, Primary and click Done.
- Click the Open button, then the Add button. Next enter a name (Bob, for
example) into the First Name field. Then click the Add button.
- Close the Data Manager and add a Command button to Form1.
- Add the following code to the Command1 Click event procedure:
Sub Command1_Click ()
Const DB_ENCRYPT = 2
Const DB_LANG_GENERAL = ";LANGID=0x0809;CP=1252;COUNTRY=0"
'** Enter the following two lines as one, single line:
CompactDatabase "C:\VB\TESTING.MDB", "C:\VB\NEWTEST.MDB",
- From the Run menu, choose Start (ALT, R, S) to run the program. Click
the Command1 button to encrypt the TESTING.MDB database file. To check
the new NEWTEST.MDB file, choose Data Manager from the Window menu in
Visual Basic version 3.0 for Windows. In the Data Manager, choose Open
Database from the File menu. Then select the NEWTEST.MDB file.
Article ID: 104875 - Last Review: January 8, 2003 - Revision: 1.1
- Microsoft Visual Basic 3.0 Professional Edition
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.