excel如何引用access里的查询数据? 5
我在access里面做了查询表,想在excel引用这个表做数据透视表,但是只能带过来表头,下面的数据没有,这是为什么呢?引用上面的表又没有问题……...
我在access里面做了查询表,想在excel引用这个表做数据透视表,但是只能带过来表头,下面的数据没有,这是为什么呢?引用上面的表又没有问题……
展开
展开全部
1、连接ACCESS2007,2007以上版本代码都差不多:
Sub AC()
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
cnn.Open "Provider=Microsoft.Ace.OleDB.12.0;data Source=" & ThisWorkbook.Path & "\数据库.accdb"
sql = "select * from [宏站]"
rs.Open sql, cnn
'复制字段名
For i = 1 To rs.Fields.Count
Cells(1, i) = rs.Fields(i - 1).Name
Next i
[a1].CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
1、连接ACCESS2003:
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
cnn.Open "Provider=Microsoft.Jet.Oledb.4.0;data Source=" & ThisWorkbook.Path & "\数据库.mdb"
sql = "select * from [宏站] "
rs.Open sql, cnn
'复制字段名
For i = 1 To rs.Fields.Count
Cells(1, i) = rs.Fields(i - 1).Name
Next i
'复制全部数据
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
追问
我是access2019年的,复制您的这个到excel的宏,允许提示用户定义类型未定义 是什么意思呀
展开全部
1、连接ACCESS2007,2007以上版本代码都差不多:
Sub AC()
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
cnn.Open "Provider=Microsoft.Ace.OleDB.12.0;data Source=" & ThisWorkbook.Path & "\数据库.accdb"
sql = "select * from [宏站]"
rs.Open sql, cnn
'复制字段名
For i = 1 To rs.Fields.Count
Cells(1, i) = rs.Fields(i - 1).Name
Next i
[a1].CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
1、连接ACCESS2003:
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
cnn.Open "Provider=Microsoft.Jet.Oledb.4.0;data Source=" & ThisWorkbook.Path & "\数据库.mdb"
sql = "select * from [宏站] "
rs.Open sql, cnn
'复制字段名
For i = 1 To rs.Fields.Count
Cells(1, i) = rs.Fields(i - 1).Name
Next i
'复制全部数据
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
追问
我是access2019年的,复制您的这个到excel的宏,允许提示用户定义类型未定义 是什么意思呀
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询