INFO: Using ActiveX Data Objects (ADO) via Visual Basic

ID: Q168335


The information in this article applies to:


SUMMARY

This article discusses what is necessary to take advantage of ActiveX Data Objects (ADO) with Visual Basic.


MORE INFORMATION

What is ADO?

ActiveX Data Objects is a programming model, which means that it is not dependent upon any given back-end engine. Currently, however, the only engine supporting the ADO model is OLE-DB. OLE-DB is currently dependent on the ODBC Version 3.0 Administrator and ODBC Drivers. This is accomplished through the OLE-DB Provider for ODBC, often referred to as Kagera. At present Kagera is the only released provider for OLE-DB, but like ODBC Drivers, other OLE-DB providers can be used seamlessly from ADO.

The ADO object model consists of six objects:

ADO/R is a subset of this ADO object model used with the Advanced Data Connector that provides only the Recordset and Field objects.

Installing ADO on your Computer

To properly install ADO on your computer, you will need to install the OLE- DB SDK version 1.1+, Internet Information Server 3.0+, or Visual InterDev 1.0+. This installs both ADO and necessary underlying ADO components. OLE-DB also requires ODBC version 3.0 Components, which are normally installed from Visual C++.

The OLE-DB SDK is available free for download off the Web from the following URL:
http://www.microsoft.com/data/oledb/
After ADO is installed on your computer, create a new project inside Visual Basic. From the Projects menu, choose References then select the following:


   Microsoft OLE-DB ActiveX Data Objects (1.0) Library 




The documentation for the ADO Error object indicates that the Errors Collection will be populated if any error occurs within ADO or its underlying provider. This is somewhat incorrect. Depending on the source of the error, ADO's errors collection may not be populated. You need to check both the Visual Basic Error object as well as the ADO Errors collection.

ADO vs. DAO

If you include references to both ADO and DAO in the same project, you will have some difficulty. Both use the same object named Recordset, so the following code is ambiguous:

   Dim r as recordset 

To specify which object model you want to use, include a qualifier in front:

   Dim s As ADODB.Recordset
   Dim t As DAO.Recordset 


REFERENCES

For more information, please see the following article in the Microsoft Knowledge Base:

Q167957 INFO: Extracting Error Information from ADO in VB

Additional query words: kbdse kbcrossref


Keywords          : kbADO kbDatabase kbVBP500FAQ 
Version           : WINDOWS:1.0,5.0
Platform          : WINDOWS 
Issue type        : kbinfo 

Last Reviewed: May 12, 1999