MyTetra Share
Делитесь знаниями!
Подключение из Excel к Access через VBA2
10.10.2019
07:05
Текстовые метки: Connect Excel To Access, ADO, Connection, Recordset, Excel-Access
Раздел: !Закладки - VBA - Access - ADO


Подключение из 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.52
Яндекс индекс цитирования