cherrycdh 发表于 2021-8-20 14:47

VBA与access数据库连接导入的问题

各位大佬好,因为vba的知识还不够扎实,这次让做一个文件,首先我已经实现了一些数据串从excel进入到access的功能,现在是使用vba代码从access回到excel显示出错,求大佬们帮忙一下
因为代码是我从网上找到的,其实我也不知道对错与否,还没有学到数据库这边,又让做,有点无奈了{:301_1008:}

Sub test()
    Dim cnn As New ADODB.Connection '连接
    Dim rs As New ADODB.Recordset
    Dim SQL As String
    Dim tblName
    Dim dbAddr

    dbAddr = ThisWorkbook.Path & "\培训管理.mdb"
    tblName = "培训计划"

    '连接数据库
    With cnn
      .Provider = "Microsoft.ACE.OLEDB.12.0"
    End With

    SQL = "Select * from " & tblName & " where 培训日期 > #31/12/2020#or 培训日期 < #1/1/2022#"

    Set rs = cnn.Execute(SQL)

    Dim sht
    Dim fildNum

    Set sht = ThisWorkbook.Worksheets("培训计划")
    sht.Cells.ClearContents

    fildNum = rs.Fields.Count
    For j = 0 To fildNum - 1 Step 1
      fildName = rs.Fields(j).Name
      sht.Cells(1, j + 1) = fildName
    Next j

    sht.Cells(2, 1).CopyFromRecordset rs

    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing

End Sub


我的代码是上面这个,需要实现的功能是,所有年份的数据都在同一个access库培训管理的培训计划表中
然后呢,我需要在一个excel上面,有表头的情况下(表格是有标题的)将符合的数据一次性导入到excel中,符合的条件就是培训日期大于2020年12月31日,小于2022年1月1日
然后我从网上找了代码(其实我也不知道对错,如果有相应的帮助文件,也请大佬告知路径),修改之后显示出错,出错的提示如下

yulinsoft 发表于 2021-8-20 15:19

taro 发表于 2021-11-6 19:51

第15行插入如下代码连接Access
cnn.Open "Data Source=" & dbAddr
页: [1]
查看完整版本: VBA与access数据库连接导入的问题