"Data Access Object - an object-oriented application programming interface used to access MS Access, MS FoxPro, and dBase databases from visual basic programs. DAO provides an optimized interface that exposes the functionality of the Jet Data Engine to programmers. The DAO interface can also be used to access other relations style data sources. " ~Coronel, Carlos, Rob, Peter. Database Systems - Design. Implementation, and Management. 7th. Canada: Thomson, 2007.
Originally called VT Objects, Data Access Objects (DAO 1.0) were created by programmers with Visual C++ and Visual Basic to interface with the Jet Database Engine and ODBCDirect Engine. DAOs were need to create additional functionality for these database management systems. Coupled with remote data objects (RDO), DAOs allow for consistent DBMS functions for all MS applications, by being stored as dynamic-link libraries (DLL). Later in version 3.5, DAO's would directly connect to the ODBC to further open ODBC functionality and use. Unfortunately, Microsoft has decided to disallow using DAOs in further 64-bit operating systems.
Example of Architecture: (MS Excel)--->(RDO)--->(DAO)--->(ODBC)--->(MS Access)
How DOA works: When DOA is utilized it creates a "workspace" object. From this workspace object, all database operations are performed. The workspace acts as a session object inside the database engine(Jet database engine or ODBCDirect) and performs database tasks that are requested from applications.