Mario G. said:
Hi Allen,
As a VB Developer, I know the performance benefits of utilizing ADO over
DAO.
Well, actually...most of the time there is no benefits.
I was under the assumption that the
performance gains realized in ADO in VB would translate into similar gains
in
Access.
Hum, no, this was never really the case. For sure ADO was a newer object
model then was DAO. And, DAO was built around JET (however, ODBC JET direct
did in fact by pass JET 100%.). So, ADO was really a extra "layer" of
abstractions that (supposedly) allowed you to write code without regards for
what data engine you use. So, if you code using ADO to JET (mdb) in
ms-access, then in theory you could change the data source to sql server,
but not have to change your ADO code.
And, of course ADO has better support for working with stored procedures
etc.with sql server.
However, it was never any faster then DAO...and certainly not when going
ADO->JET.
There is absolute no performance gains to be had with ADO and JET. And,
there is absolute NO reason to re-write good existing DAO code that works
with the JET/mdb data. You get zero benefits here.
Having said the above, I would certanly recomemnd using ADO for connecitong
to sql server.
And, you might find it interesting that for access 2000, 2002, MS had
removed the DAO reference, and you have to put it back in (tools->references
when in the code editor). However, for access 2003, the DAO reference is
actually now back by default!!
So, while one can argue that DAO is old, and many people jumped to ADO...now
ADO is surpassed and now we got ado.net. So, we could argue that no you
should not be using ADO anymore either!!!
The fact of the matter is that using DAO is just fine when working with JET
databases. I would not waste ANY time re-writing the existing DAO code in
that application. The ONLY exceptions would be code that works with tables
on sql server...