Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

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

Posted on 2012-03-22
8
Medium Priority
?
800 Views
Last Modified: 2012-06-27
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
Comment
Question by:Mohammad Alsolaiman
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 1200 total points
ID: 37754964
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
 
LVL 74

Assisted Solution

by:Jeffrey Coachman
Jeffrey Coachman earned 80 total points
ID: 37755706
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
 
LVL 61

Assisted Solution

by:mbizup
mbizup earned 320 total points
ID: 37756562
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 58

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 300 total points
ID: 37756902
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
 
LVL 20

Assisted Solution

by:clarkscott
clarkscott earned 100 total points
ID: 37780478
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
 
LVL 58

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 300 total points
ID: 37781331
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
 
LVL 75
ID: 37783156
And always will be.  Long Live Access, JET, DAO & VBA.

mx
0
 

Author Closing Comment

by:Mohammad Alsolaiman
ID: 37817141
thanks to all of you guys
great information & nice to me not to change to ADO
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes two methods for creating a combo box that can be used to add new items to the row source -- one for simple lookup tables, and one for a more complex row source where the new item needs data for several fields.
Code that checks the QuickBooks schema table for non-updateable fields and then disables those controls on a form so users don't try to update them.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question