您的位置:首页 > 数据库

在VBA中如何将SQL得到的数据直接赋值到数组?

2010-11-24 15:31 344 查看
Q:在VBA
中如何将SQL
得到的数据
直接赋值到数组?

A:可以利用RecordSet的GetRows方法获取
数组。

Sub SQL2Arr()
Dim AdoCN As Object
Dim AdoRe As Object
Dim SQL As String
Dim Arr1, Arr2, Arr3
Set AdoCN = CreateObject("ADODB.Connection")
Set AdoRe = CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM [Sheet1$A1:C11]"
AdoCN.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=Excel 12.0;"
Set AdoRe = AdoCN.Execute(SQL)
Arr1 = AdoRe.GetRows(, , "姓名")                    '取得某一列
AdoRe.MoveFirst     '取完一次,要将指针移动到最前
Arr2 = AdoRe.GetRows(, , Array("姓名", "班级"))     '取得两列
AdoRe.MoveFirst     '取完一次,要将指针移动到最前
Arr3 = AdoRe.GetRows                                '取得全部
AdoCN.Close
Set AdoRe = Nothing
Set AdoCN = Nothing
End Sub


利用这个方法,也可以单独获取某一字段


附件下载:在VBA中如何将SQL得到的数据直接赋值到数组? http://www.exceltip.net/thread-13032-1-1-11314.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息