Об'єкти ADO в додатках VBA, MDAC, довідка по ADO, об'єкти Connection, Command і Recordset
ADO розшифровується як ActiveX Data Objects - набір програмних об'єктів, побудованих за технологією ActiveX (COM) і дозволяє отримувати дані і управляти ними на самих різних джерелах. Інші набори програмних об'єктів для доступу до джерел даних, які часто використовуються в додатках Office - це DAO і RDO, але ці програмні об'єкти застаріли і до використання в сучасних додатках не рекомендуються. В даний час з'явилася нова версія ADO - ADO.NET, яка сильно відрізняється від звичайної ADO і призначена для роботи в .NET Framework. Однак через те, що ADO.NET:
ADO.NET в цій книзі розглядатися не буде.
ADO вміє працювати з різними драйверами для підключення до баз даних, наприклад, з драйверами OLE DB і ODBC. Оскільки ADO побудований за технологією COM, ці об'єкти можна використовувати в будь-яких COM-сумісних мовах програмування (VC ++, Visual Basic, Delphi, VBA, VBScript, JScript, ActivePerl і т.п.).
Мал. 9.1 Довідка з ADO в Microsoft Access
Сама по собі об'єктна модель ADO дуже проста і зрозуміла. У ній - всього три головних об'єкта:
- об'єкт Connection - дозволяє встановити з'єднання з джерелом даних і керувати ним. Всі помилки, які виникають в ході роботи з'єднання, поміщаються в супутню колекцію Errors.
- об'єкт Command - представляє команду, за допомогою якої проводиться виконання певної операції на джерелі даних (виконання запиту, збереженої процедури, створення або зміна об'єкту, зміна даних тощо). Якщо джерело даних - SQL-сумісний, то об'єкт Command, швидше за все, буде представляти команду SQL. Об'єкту Command супроводжує колекція Parameters - параметри, які передаються запитом або збереженій процедурі.
- об'єкт Recordset - представляє набір записів, отриманих з джерела або згенерований іншим способом. Йому супроводжує колекція Fields, що представляє інформацію про шпальтах в цьому наборі записів (ім'я, тип, розмірність даних тощо), а також самі дані.
Для кожного з цих трьох об'єктів передбачена також колекція Properties, яка визначає відповідно властивості з'єднання, команди або набору записів.
Всі об'єкти явно створювати необов'язково - наприклад, при створенні об'єкта Recordset можна в автоматичному режимі створити об'єкт Connection.