Long winded ADP ADO OLE DB ODBC question

Posted on 2004-04-29
Last Modified: 2013-12-05
Im wondering if someone can give me some explanation regarding these layers of communication.  If find them quite confusing.  In particular, the hype regarding how great Access ADP files are because of their native connectivity with SQL Server.  In my limited experience with them, I have found them to be rather cumbersome and limiting.  I appreciate the speed advantages they have over linking SQL tables to an MDB file, but theres some downsides as well.  Not being able to use local tables is definitely one of them.  If you have full access to SQL server, then you can create your views, sp's, triggers, tables etc, then using ADO you can open or call any of these objects directly from an MDB file.  At the same time you can link to other data sources using ODBC.  Is using ADO to call an sp or open a recordset from MS SQL the same as connecting with an ADP file and binding views to your forms.

Sorry if this question is kind of all over the place but Id like to get these things straight, to help me make decisions in designing future apps.


Question by:BillPowell
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
  • 2
  • 2
  • 2
LVL 21

Assisted Solution

Kevin3NF earned 150 total points
ID: 10963260

I find that the ADPs are really nice, but painfully hard to get right until you get over the very steep learning curve.  If you need local tables, then MDBs are great.  If you want to stick with MDB but get the speed, pass-thru queries wok really well too, especially when executing a stored procedure.  My understanding is that ADPs do use ADO.  It really boils down to personal choice.  A big benefit of ADP is the ability to design SQL Server object inside the Access application, especially if you are using MSDE instead of full SQL Server.

Does that help?

LVL 46

Accepted Solution

tbsgadi earned 350 total points
ID: 10970907
I found this article very useful:

Access projects have advantages over the other methods of accessing client-server data I've covered:
They provide direct access to a SQL Server database.
You can easily create and modify SQL Server tables, views, database diagrams, and stored procedures, all from the Access development environment.
You can backup and restore the SQL Server database, maintain SQL Server security, and perform SQL Server replication tasks.
You can build forms, reports, data access pages, and modules that access SQL Server data, without involving Jet.
The client side requires fewer resources.
The server is responsible for all query processing.
You can use functionality not available when accessing ODBC via Jet.
You can execute asynchronous queries -- you don't have to wait for a query to complete execution before you begin another operation.
You can perform batch updates -- You can cache changes locally and then submit them to the server as a batch.
You can run queries that return multiple result sets.
You can easily limit the number of records returned in a result set.
You can easily monitor messages and errors generated by the remote data source.

Access Data Projects also have several disadvantages:
You can't create local tables. This means the row source of static combo boxes and list boxes, for example, must be SQL Server tables. This results in unnecessary network traffic being generated as these combo boxes and list boxes are populated.
You can't create local queries. What were tables in your Access database (.MDB) must be created as views or stored procedures in your Access data project (.ADP). Even the most experienced query experts may find it challenging and time-consuming to rebuild complex Access queries as views and stored procedures.
The process of building an application using an ADP file involves a learning curve.
LVL 11

Author Comment

ID: 10973697
Hey guys,

Thanks for the responses.  I guess if your using MSDE and dont have access to full MS SQL with enterprise manager, this can be a big advantage of ADP's.  I guess theres one thing still puzzling me about ADP's MDB communication to SQL server.  Lets say you write an app with an MDB file.  You dont link the sql tables, but instead access them through ADO code calling stored procedures and views etc.  You can still use some local tables if needed, thus maintaining some flexibility.  In this scenario, would the ADP still have any performance advantage over the mdb.  Also, would either of these two scenarios be more favourable if you decide to ditch access and upgrade to as a development tool?
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 46

Expert Comment

ID: 10974973
In the first case you described the ADP still has the advantage.
In the second case obviously if you'd wish to upgrade to you'd be able to use the ADO code & not the mdb
LVL 11

Author Comment

ID: 10983094
Thanks for the input guys.  Ive been gathering more info and reading some other links too, and I think Im getting a handle on it.


LVL 21

Expert Comment

ID: 10983436
also check out the Microsoft newsgroup: Microsoft.public.access.adp.sqlserver (or something like that)....

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

733 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