MyTetra Share
Делитесь знаниями!
Подключение из Excel к Access через VBA2
Время создания: 10.10.2019 07:05
Текстовые метки: Connect Excel To Access, ADO, Connection, Recordset, Excel-Access
Раздел: !Закладки - VBA - Access - ADO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1570680357ilu1l005io/text.html на raw.githubusercontent.com

Подключение из Excel к Access через VBA", написанный фиг знает когда.


Экспериментировал с базой Борей. Попробовал вывести на страницу Excel первые 10 строк из таблицы "Клиенты". Поскольку с SQL практически не работаю, то для меня стало важным маленькое открытие объекта Recordset. Вот, собственно, текст программы (следует рассматривать как развитие текста программы из поста, ссылка на который - выше):


Public Sub test_db()

 

    Dim sh As Worksheet: Set sh = ThisWorkbook.Sheets("Главная")

 

    ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.Path & "\Borey.accdb; Jet OLEDB:Database;"

  

    Dim con As New ADODB.Connection

    Dim rs As New ADODB.Recordset

 

    con.Open ConnectionString

  

    On Error GoTo not_table

 

    mySql = "SELECT TOP 10 * FROM Клиенты"

    rs.Open mySql, con

 

    ' Выводим заголовки

    For j = 0 To rs.Fields.Count - 1

        With sh.Cells(1, j + 1)

            .Value = rs.Fields(j).Name

            .Font.Bold = True

        End With

    Next

 

    ' Выводим первые десять записей

    sh.Range("A2").CopyFromRecordset rs

 

    con.Close

    Exit Sub

 

not_table:

    con.Close

End Sub

 


И что в результате? Вполне приемлемый финал. Получил в Excel требуемую плоскую таблицу (вывожу только часть, потому что принцип и так должен быть ясен):

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