Visual Basic programmers highly recommend ADO as their preferred object model for accessing databases. Although ADO is an excellent model with its own unique benefits, in the context of Access databases, it doesn't have the benefit of native database connectivity, which is where DAO has the distinct advantage.
Applications written in other programming languages, such as Visual Basic, Delphi, and the like, must explicitly connect to the data source they intend to manipulate, and they must do so every time they need to manipulate the data or underlying schema. That's because, unlike Access, these applications do not have an inherent connection to the data source. When used in Access, DAO enables you to manipulate data and schema through an implicit connection that Access maintains to whichever Access database engine, ODBC, or ISAM data source it happens to be connected to.
Because linked tables are a uniquely Access-specific feature, DAO is quite simply the better alternative for accessing Access databases. In fact, it is impossible to do so natively using any other data access model.
DAO has evolved right alongside Jet and the Access database engine, and has become the best model for accessing and manipulating Access database engine objects and structure. Because of its tight integration with Access, DAO also provides much faster access to Access databases than does ADO or the Jet Replication Objects (JRO). This may all sound like marketing hype, but to qualify ...