Q:在
VBA中如何将
SQL得到的
数据直接赋值到数组?
A:可以利用RecordSet的GetRows方法 获取数组。
利用这个方法,也可以单独获取某一 字段。
附件下载:在VBA中如何将SQL得到的数据直接赋值到数组? http://www.exceltip.net/thread-13032-1-1-11314.html
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