• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 818
  • Last Modified:

What is the future of DAO in ms access 2010 and later?

Hi:
"If you are developing an MS Access database (back-end) then DAO is probably your best bet as it is optimized for Jet/ACE.  It should also be noted, from what I have read, that Microsoft recommends DAO for Jet data and as such is typically faster than ADO in this scenario.
On the other hand, if you are developing an Access Data Project (.adp) in conjunction with an SQL Server database (back-end), it is normally recommended that you use ADO. "
See url http://www.devhut.net/2010/09/09/ms-access-vba-ado-vs-dao/
I am about to upgrade my ms_access.mdb(s) to ms_access.accdb(s). and I was thinking of changing all of my apps code from DAO to ADO. But when I had read this article I decided to stop and ask the most experts I trust in.
So please help me to take my decision of keep using DAO in my 2010 ms access or convert to ADO?
Notice that all of my 2003 apps are (mdb), and none of them are (adp).
0
Mohammad Alsolaiman
Asked:
Mohammad Alsolaiman
6 Solutions
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
DAO. Period. DAO is not going away. Guaranteed!  
Long Live Access, JET, DAO & VBA.

DAO is optimized for Access databases (MDBs and ACCDBs).

mx
0
 
Jeffrey CoachmanMIS LiasonCommented:
Here is a thread MX and some other Experts were involved in, if it helps:
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Word/Q_27595785.html
0
 
mbizupCommented:
Agree with the above comments -

Leave your DAO code as-is.

The future of ADPs, however is somewhat uncertain.  

With that in mind, if you find the need to upsize your back-ends to SQL Server, regular Access front-ends (mdb, accdb) play very nicely with SQL Server back-ends.  There is no need to change to or develop ADPs to support SQL Server back-ends.  Your existing mdbs and accdbs will accommodate SQL Server back ends nicely, and your DAO code will work (no need to change to ADO).
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
I'd stick with DAO as the others have said.   Next version of SQL Server won't support OLEDB from what I've heard.

You will still be able to use ADO, but it will have to be through a ODBC connection.  While ADO gives you more control over the cursor, when being used with Access, your cursor options are limited anyway, so ADO is not such a big advantage.

 Also, ADO does some weird stuff (schema specific calls) to handle things such as security and what not.

I've pretty much stuck with DAO over the years and never really had a problem.

One big advantage of ADO however is that it is closer to object orientated programming and deals with more data sources.  For example, you can talk to an Excel spreadsheet with ADO, where as with DAO you cannot expect through an ISAM driver built into Access.

All in all though, I'd stick with DAO and just use ADO when needed (you can use both in the same project).

FWIW,
Jim.
0
 
clarkscottCommented:
You don't need the "DAO" REFERENCES anymore.
Select the Microsoft Office xx.x Access Database Engine Object.

If you want to use DAO methods, declare your databases and recordsets specifically:
dim db as dao.database
dim rst as dao.recordset

Scott C
0
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
Scott,

<<Select the Microsoft Office xx.x Access Database Engine Object.>>

 Just an FYI; that really is DAO.   The name has been changed, but it is still DAO as it always has been.

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
And always will be.  Long Live Access, JET, DAO & VBA.

mx
0
 
Mohammad Alsolaimanapplication programmerAuthor Commented:
thanks to all of you guys
great information & nice to me not to change to ADO
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now