MyTetra Share
Делитесь знаниями!
Конечно, зачем использовать ODBС, если можно использовать ADO.
Время создания: 16.03.2019 23:43
Текстовые метки: vba, ado
Раздел: !Закладки - VBA - Access - ADO

А насчет ODBC - с таблицами Access, FoxPro и рядом других можно работать и без него (способ я уже описал).


Конечно, зачем использовать ODBС, если можно использовать ADO.

Так что не суетись, освой для начала работу с Аксесс через ДАО, а там видно будет, что именно и зачем тебе нужно.

А почему так необходимо изучать DAO?

Давайте разберёмся в преимуществах.
Исторически первичны DAO (Data Access Objects) и RDO (Remote Data Objects). При этом, первая предназначается для доступа к локальным БД (на одном компе), вторая для удалённых (ну ясно, на разных компах, в сети). ADO (ActiveX Data Objects) появляется позже и обладает свойствами той и другой. Возможно часть локальных свойств ADO и не поддерживает, но SQL поддерживает.
Изучайте ADO и DAO параллельно. Но если спешите, и надо связывать удалённые БД, то лучше ADO.
Microsoft уже несколько лет, как поменяла идеологию с ODBC на OLE DB. История длинная. Рассказывать?

Короче OLE DB дает возможность работать не только с реляционными БД, но с любым хранилищем данных (от текстов, фото до знаний). Кому щас реляционные нужны? Так, только поучиться.
Чтобы быть в ногу со временем займитесь ADO, OLE DB и т.п.
Так вот ADO в некотором смысле является конвертером объектов OLE DB. Но дело-то ещё в том, что Microsoft отказались от технологии ODBC вообще.

Для локальных небольших БД DAO считается более подходящим.
Но DAO уходит в прошлое.
Подключение ADO аналогично DAO, использование SQL-предложений тоже аналогично.
Правда есть проблемы с транзакциями. Но вполне разрешимые.
Для начала изучите объекты ADO: Connection, Command, Recordset, Record, Streem.
Подключение:

Код: Выделить всё

‘Описание объекта Connection:
Dim Conn As New ADODB.Connection
‘Объявление нового соединения:
Set Conn=New ADODB.Connection
‘Eсли соединение с активной базой данных, то:
Set Conn=CurrentProject.Connection
‘Eсли соединение с внешней базой данных, то указывается путь и провайдер:
Сonn.Open "Provider=Microsoft jet 4.0 OLE DB Provider; Data Source=" + Путь

Это проще, чем DAO.
Дальше лучше на конкретном примере.
Я подберу что-нибудь из того, что у меня есть. Пожалуй, только завтра файл присоединю



Код: Выделить всё

Private Sub Начало()
   ' Объявление переменных связи
  Dim Conn As New ADODB.Connection
  Dim Rs As New ADODB.Recordset

  Dim Stext As String
   '  Stext – для вывода в MsgBox, главным образом при отладке, потом можно убрать!
   
'  Организация связи с ADO
Set Conn = New ADODB.Connection
Set Rs = New ADODB.Recordset
   ' Подключение драйвера и независимой базы данных с указанием пути к ней
Conn.Open "Provider=Microsoft jet 4.0 OLE DB Provider;" & "Data Source=C:\Мои документы\flying\baza_1.mdb;"





Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования