?
Solved

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

Posted on 2012-03-22
8
Medium Priority
?
795 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
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
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

10 Questions to Ask when Buying Backup Software

Choosing the right backup solution for your organization can be a daunting task. To make the selection process easier, ask solution providers these 10 key questions.

Question has a verified solution.

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

It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
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.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses

801 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