Can anyone give, or point to, a primer on what is the difference between these two, advantages/disadvantages of each and why use one or the other, all with reference to vba and accessXP? I'm always reading comments that in order to do this or that you must use ADO (or DAO) but would like to have a better understanding of how they relate to each other.
I don't know how much it'll help because it's based on whether or not you can get to a copy of it, but I got my explanation from the Access 2002 Desktop Developer's Handbook. What they basically say is:
Access 97 and prior use DAO. Access 2000+ can use both except for MDB forms which ONLY give DAO recordsets. Projects give ADO, FYI. They suggest that ADO is the wave of the future, so to speak, and DAO will eventually drop out of existence. So get to know ADO if you plan on doing any databasing in the future. In other words, if new front-ends are going to have to choose between the two, it'll be ADO. From what I've seen/heard, ActiveX is one of Microsoft's unifying architectures (or whatever the proper word is) and ADO, which just happens to be ActiveX Data Objects, is part of the ActiveX push. So, just like Fortran gave way to C, on a smaller scale DAO is passing the torch to ADO.