Did you know that Access is NOT a database but a Front End?

What? How can that be?  I am able to create tables in Access. This is true because Access really is a Front End to a database engine.

 Access interfaces with a database engine that manages the database. Access is a GUI front end for the JET and/or ACE database engines depending on the version of Access. The JET database engine is what manages the .mdb format.  In Access 2007 there was a new database engine introduced called ACE. ACE is what manages the new .accdb format.



Why have you never seen JET and ACE?


JET and ACE do not have a built-in user interface. Access provides a Graphical User Interface (GUI) for working with JET/ACE objects in the database.  This makes creating tables a lot easier than writing SQL statements or DAO code to manage your table design.


Access is just a front end it can use many different data sources as the back end.  You can use any data source that has an ODBC driver installed on your PC. This makes it possible to use an SQL Server as the back end for your Access application.


Other software can also use JET or ACE as a Back End

JET and ACE are DLLs that can be used by other programming languages like VB/VB.Net, C++/C#, etc.


Using JET

If I remember correctly, starting with Windows 2000 that the Windows OS used a JET database internally as a system component. This means the JET 4 DLLs are already installed on the machine.  I figure this out one day when I tried to run the JET Comp Utility on a Windows 2000 Server that did not have Access installed and it worked!


One of the advantages of using a JET 4 (.mdb) database is that you do not have to worry about installing the JET Database Engine. Windows Update also takes care of keeping he JET files up to date.


Using ACE

If you want to create a Front End that uses an ACE database (.accdb) then you will have to include the Data Engine Redistributables in your installer package.


On the Microsoft Access Blog, there is a comment from Clint Covington of Microsoft that stated "The Jet engine is a system component and making changes to it meant making changes to Windows. The new engine gives us more flexibility to innovate in the codebase and ship updates via Office."


User Level Security Support

Jet uses the built-in User Level Security. This feature was dropped in the new ACE (.accdb) database format. Databases in the ACE (.accdb) format no longer have the built-in user Level Security.  Access 2007/2010 does support both JET and ACE. This allows you to create and use JET to create a .mdb format database if you want or need to use the built-in User Level Security. For Additional information see  JET User Level Security (Click Here)


Additional reading:

Microsoft Access Database Engine 2010 Redistributable

2007 Office System Driver: Data Connectivity Components

JET and ACE do not have a built in user interface. Access provided a Graphical User Interface.  This makes creating tables a lot easier than writing SQL statements or DAO code to manage your table design.