【问题标题】:Print Access table contents through VBA通过 VBA 打印访问表内容
【发布时间】:2018-09-25 12:00:18
【问题描述】:

我想通过 Excel VBA 读取 Access 表并打印每一行每一列的内容。

到目前为止,我有以下代码,但它只会打印第一行的内容。如何让它打印所有行?

我的测试表有 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

【问题讨论】:

    标签: excel vba ms-access


    【解决方案1】:

    您可以轻松地遍历所有字段,并使用.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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多