在外部进行变量声明

Public connectionString As String    '连接数据库语句
Public SQL As String
Public con As ADODB.Connection  '连接对象,创建对象但未定义实例
Public rs As ADODB.Recordset    '结果集

如果报错:用户定义类型未定义,可能是未引用所虚的外部库,在工具-引用中添加

连接数据库,本例通过按钮的click事件连接,并将数据库内容填到单元格中

Private Sub CommandButton1_Click()

Set con = CreateObject("ADODB.Connection")  '定义实例
Set rs = CreateObject("ADODB.Recordset")
    
connectionString = "provider=Microsoft.ACE.oledb.12.0;data source=" & ActiveWorkbook.Path & "\" & "data.accdb"
con.Open connectionString   '连接数据库

SQL = "select * from 表1"
rs.Open SQL, con, adOpenKeyset, adLockOptimistic    '运行sql,结果存在rs
Sheets("Sheet1").Range("A2").CopyFromRecordset rs   '结果显示在单元格,A2为左上角位置

End Sub

rs.Open SQL, con, adOpenKeyset, adLockOptimistic 中第三和第四个参数是限制记录是否可读写和锁定的,具体见https://blog.csdn/weixin_30578677/article/details/94773839

效果

更多推荐

VBA 连接ACCESS数据库