Печать содержимого таблицы доступа через VBA - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу прочитать таблицу Access через Excel VBA и распечатать содержимое каждой строки и каждого столбца.

Пока у меня есть следующий код, но он будет печатать только содержимое первой строки,Как мне сделать так, чтобы он печатал все строки?

Моя тестовая таблица имеет 2 столбца (отсюда For i= 0 to 1) и 4 строки, но в действительности у меня возможно будет переменное количество столбцов и строк, поэтому желательно коддолжен прикрыть для этого.

Sub get_column()

Dim cn As Object
Dim rs As Object
Dim strSql As String
Dim strConnection As String
Dim i As Long

Set cn = CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=M:\test_database.accdb;" '& _
'"User Id=admin;Password=admin"
strSql = "SELECT Table1.CC_Number, Table1.Region FROM Table1;"
cn.Open strConnection
Set rs = cn.Execute(strSql)
For i = 0 To 1
    Debug.Print rs.Fields(i)
Next i
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

End Sub

1 Ответ

0 голосов
/ 25 сентября 2018

Вы можете легко зациклить все поля и использовать .MoveNext и .EOF для печати всех строк:

Set rs = cn.Execute(strSql)
Dim fld As Object
Do While Not rs.EOF
    For Each fld In rs.Fields
        Debug.Print fld.Name; vbTab; fld.Value
    Next
    Debug.Print "" 'Blank line between records
    rs.MoveNext
Loop
rs.Close
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...