MyTetra Share
Делитесь знаниями!
Конечно, зачем использовать ODBС, если можно использовать ADO.
Время создания: 16.03.2019 23:43
Текстовые метки: vba, ADO
Раздел: Разные закладки - VBA - Access - ADO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1531512557aohqtu7t6h/text.html на raw.githubusercontent.com

А насчет 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.65
Яндекс индекс цитирования